users@jax-rs-spec.java.net

[jax-rs-spec users] [jsr339-experts] Re: Injecting a sub-resource method path parameter into a resource field - legal or not?

From: Marek Potociar <marek.potociar_at_oracle.com>
Date: Thu, 23 Feb 2012 14:37:28 +0100

To elaborate more, consider also the extended example:

@Path("foo")
public class FooResource {
    @PathParam("id") String id;

    @GET
    public String getFoo() {
        return id;
    }

    @GET
    @Path("bar/{id}")
    public String getBar() {
        return id;
    }
}

Should the above be legal? What should be returned for a GET "/foo" request?

Marek

On 02/23/2012 12:01 PM, Marek Potociar wrote:
> Hello experts,
>
> we've received a bug report in Jersey about the following use case:
>
> @Path("foo")
> public class FooResource {
> @PathParam("id") String id;
>
> @GET
> @Path("bar/{id}")
> public String get() {
> return id;
> }
> }
>
> My question is, given the "id" path template is defined on a sub-resource method, should the value still be injectable
> into the resource field or not?
>
> IOW, with the example above, what should be a result of GET "/foo/bar/baz" request? Should it be "baz" or null ?
>
> Thanks,
> Marek