users@jersey.java.net

[Jersey] Re: Can we get rid of duplicate _at_Path?

From: Paul Sandoz <Paul.Sandoz_at_oracle.com>
Date: Tue, 1 Feb 2011 12:59:30 +0100

On Feb 1, 2011, at 11:07 AM, Markus Karg wrote:

> We currently have the following code, which is prototypical for a
> POST / GET combination. POST is implemented by the root resource,
> and must return a location header pointing to the created sub
> resource. Then, a client can use that URI to GET a sub resource,
> implemented by a second class:
>
> @Path("myroot") public class RootResource {
> @POST public post() {
> …create in database and request id from it…
> URI location = UriBuilder.fromResource(SubResource.class).build(…
> id from database…);
> return Response.created(location).build();
> }
> @Path("{id}") public SubResource getSubResource() {
> return new SubResource();
> }
> }
>
> @Path("{id}") public class SubResource {
> @GET public String get() {
> return … ;
> }
> }
>
> That works pretty well, but it is not smart that @Path is needed at
> both, the getSubResource() method AND the SubResource class.
>
> I wonder if we can get rid of one of those, as the information
> provided by both actually is the same.
>

Is it intended that SubResource also be a root resource? i.e. /myroot
and /{id} are valid paths, in addition to /myroot/{id}

If not you don't need @Path on SubResource.

Paul.