Interface RestCollectionCreateView<P extends RestResource,C extends RestResource,I>
-
- Type Parameters:
P
- type of the parent resourceC
- type of the child resource that is createdI
- type of input the JSON parser will parse the input into.
- All Superinterfaces:
RestCollectionView<P,C,I>
,RestView<C>
- All Known Implementing Classes:
AddMembers.CreateMember
,AddSubgroups.CreateSubgroup
,ChangeEdits.Create
,CreateAccount
,CreateBranch
,CreateDashboard
,CreateEmail
,CreateGroup
,CreateLabel
,CreateProject
,CreateTag
,StarredChanges.Create
public interface RestCollectionCreateView<P extends RestResource,C extends RestResource,I> extends RestCollectionView<P,C,I>
RestView that supports accepting input and creating a resource.The input must be supplied as JSON as the body of the HTTP request. Create views can be invoked by the HTTP methods
PUT
andPOST
.The RestCreateView 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 creating the resource.
-
-
-
Method Detail
-
apply
Response<?> apply(P parentResource, IdString id, I input) throws Exception
Process the view operation by creating the resource.The returned response defines the status code that is returned to the client. For RestCollectionCreateViews this is usually
201 Created
because a resource is created, but other 2XX or 3XX status codes are also possible (e.g.Response.Redirect
can be returned for302 Found
).The value of the returned response is automatically converted to JSON unless it is a
BinaryResult
.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 createdid
- the ID of the child resource that should be createdinput
- 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.
-
-