Interface RestCollectionDeleteMissingView<P extends RestResource,C extends RestResource,I>
-
- Type Parameters:
P
- type of the parent resourceC
- type of the child resource that id deletedI
- type of input the JSON parser will parse the input into.
- All Superinterfaces:
RestCollectionView<P,C,I>
,RestView<C>
- All Known Implementing Classes:
ChangeEdits.DeleteFile
public interface RestCollectionDeleteMissingView<P extends RestResource,C extends RestResource,I> extends RestCollectionView<P,C,I>
RestView that supports accepting input and deleting a resource that is missing.The RestDeleteMissingView solely exists to support a special case for creating a change edit by deleting a path in the non-existing change edit. This interface should not be used for new REST API's.
The input must be supplied as JSON as the body of the HTTP request. Delete views can be invoked by the HTTP method
DELETE
.The RestDeleteMissingView is only invoked when the parse method of the
RestCollection
throwsResourceNotFoundException
, and hence the resource doesn't exist yet.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Response<?>
apply(P parentResource, IdString id, I input)
Process the view operation by deleting the resource.
-
-
-
Method Detail
-
apply
Response<?> apply(P parentResource, IdString id, I input) throws Exception
Process the view operation by deleting the resource.The returned response defines the status code that is returned to the client. For RestCollectionDeleteMissingViews this is usually
204 No Content
because a resource is deleted, but other 2XX or 3XX status codes are also possible (e.g.200 OK
,302 Found
for a redirect).The returned response usually does not have any value (status code
204 No Content
). If a value in the returned response is set it is automatically converted to JSON unless it is aBinaryResult
.Throwing a subclass of
RestApiException
results in a 4XX response to the client. For any other exception the client will get a500 Internal Server Error
response.- Parameters:
parentResource
- parent resource of the resource that should be deletedid
- the ID of the child resource that should be deletedinput
- input after parsing from request- Returns:
- response to return to the client
- Throws:
RestApiException
- if the resource creation is rejectedException
- the implementation of the view failed. The exception will be logged and HTTP 500 Internal Server Error will be returned to the client.
-
-