I have a working REST setup using JERSEY. I need almost identical functionality for a different set of entities. What do I need to do to clone this current functionality?
@Path("/will")
public class FileResource {
private final BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
private final BlobInfoFactory blobInfoFactory = new BlobInfoFactory();
/* step 1. get a unique url */
@GET
@Path("/url")
public Response getCallbackUrl() {
/* this is /_ah/upload and it redirects to its given path */
String url = blobstoreService.createUploadUrl("/rest/will");
return Response.ok(new FileUrl(url), MediaType.APPLICATION_JSON).build();
}
/* step 2. post a file */
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public void post(@Context HttpServletRequest req, @Context HttpServletResponse res) throws IOException, URISyntaxException {
Map<String, BlobKey> blobs = blobstoreService.getUploadedBlobs(req);
BlobKey blobKey = blobs.get("files[]");
res.sendRedirect("/rest/will/" + blobKey.getKeyString() + "/meta");
}
....
Can I simply duplicate this class and change will to something else?
There is nothing magical about Jersey, you can superclass as usual. For example:
This will give you responses for /will/url and /abc/url