Interface RestCollectionModifyView<P extends RestResource,C extends RestResource,I>

Type Parameters:
P - type of the parent resource
C - type of the child resource
I - type of input the JSON parser will parse the input into.
All Superinterfaces:
RestCollectionView<P,C,I>, RestView<C>
All Known Implementing Classes:
AddSshKey, AddToAttentionSet, ChangeEdits.Post, CreateChange, DeleteChangeEdit, PostCaches, PostLabels, PostReviewers

public interface RestCollectionModifyView<P extends RestResource,C extends RestResource,I> extends RestCollectionView<P,C,I>
RestView on a RestCollection that supports accepting input.

The input must be supplied as JSON as the body of the HTTP request. RestCollectionModifyViews can be invoked by the HTTP methods POST and DELETE (DELETE is only supported on child collections).

  • Method Summary

    Modifier and Type
    Method
    Description
    apply(P parentResource, I input)
    Process the modification on the collection resource.
  • Method Details

    • apply

      Response<?> apply(P parentResource, I input) throws Exception
      Process the modification on the collection resource.

      The value of the returned response is automatically converted to JSON unless it is a BinaryResult.

      The returned response defines the status code that is returned to the client. For RestCollectionModifyViews this is usually 200 OK, but other 2XX or 3XX status codes are also possible (e.g. 201 Created if a resource was created, 202 Accepted if a background task was scheduled, 204 No Content if no content is returned, 302 Found for a redirect).

      Throwing a subclass of RestApiException results in a 4XX response to the client. For any other exception the client will get a 500 Internal Server Error response.

      Parameters:
      parentResource - the collection resource on which the modification is done
      Returns:
      response to return to the client
      Throws:
      Exception - the implementation of the view failed. The exception will be logged and HTTP 500 Internal Server Error will be returned to the client.