Skip to content

Instantly share code, notes, and snippets.

@jfarcand
Created January 18, 2011 14:44
Show Gist options
  • Save jfarcand/784513 to your computer and use it in GitHub Desktop.
Save jfarcand/784513 to your computer and use it in GitHub Desktop.
@Path("/service/:type")
@Produces({APPLICATION_JSON, APPLICATION_XML})
@Consumes({APPLICATION_JSON, APPLICATION_XML})
public class ServiceDescriptionResource {
@Inject
ServiceEntity delegate;
@POST
public Response post(@PathParam("createPerson(entity)") ServiceHandler serviceHandler) {
// Will properly invoke the "createPerson(entity)" as the ServiceHandler would have been appropriately generated
Response response = createResponse(serviceHandler.delegatePost(delegate));
return response;
}
@GET
@Path("/:id")
public Response get(@PathParam("readPerson(id)") ServiceHandler serviceHandler) {
// Will properly invoke the "readPerson(id)" as the ServiceHandler would have been appropriately generated
Response response = createResponse(serviceHandler.delegateGet(delegate));
return response;
}
@GET
public Response get0(@PathParam("readPeople()") ServiceHandler serviceHandler) {
// Will properly invoke the "readPeople()" as the ServiceHandler would have been appropriately generated
Response response = createResponse(serviceHandler.delegateGet(delegate));
return response;
}
@PUT
@Path("/:id")
public Response put(@PathParam("updatePerson(entity)") ServiceHandler serviceHandler) {
// Will properly invoke the "updatePerson(entity)" as the ServiceHandler would have been appropriately generated
Response response = createResponse(serviceHandler.delegatePut(delegate));
return response;
}
@DELETE
@Path("/:id")
public Response delete(@PathParam("deletePerson(id)")ServiceHandler serviceHandler) {
// Will properly invoke the "updatePerson(entity)" as the ServiceHandler would have been appropriately generated
Response response = createResponse(serviceHandler.delegateDelete(delegate));
return response;
}
private Response createResponse(ServiceHandler serviceHandler) {
return Response.ok().build();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment