Interface RestModifyView<R extends RestResource,​I>

  • Type Parameters:
    R - type of the resource the view modifies.
    I - type of input the JSON parser will parse the input into.
    All Superinterfaces:
    RestView<R>

    public interface RestModifyView<R extends RestResource,​I>
    extends RestView<R>
    RestView that supports accepting input and changing a resource.

    The input must be supplied as JSON as the body of the HTTP request. Modify views can be invoked by any HTTP method that is not GET, which includes POST, PUT, DELETE.

    • Method Detail

      • apply

        Object apply​(R resource,
                     I input)
              throws AuthException,
                     BadRequestException,
                     ResourceConflictException,
                     Exception
        Process the view operation by altering the resource.
        Parameters:
        resource - resource to modify.
        input - input after parsing from request.
        Returns:
        result to return to the client. Use BinaryResult to avoid automatic conversion to JSON.
        Throws:
        AuthException - the client is not permitted to access this view.
        BadRequestException - the request was incorrectly specified and cannot be handled by this view.
        ResourceConflictException - the resource state does not permit this view to make the changes at this time.
        Exception - the implementation of the view failed. The exception will be logged and HTTP 500 Internal Server Error will be returned to the client.