users@jax-rs-spec.java.net

[jax-rs-spec users] [jsr339-experts] Re: service locators and class-level @Path

From: Marek Potociar <marek.potociar_at_oracle.com>
Date: Tue, 21 Feb 2012 11:35:52 +0100

I'd say that according to the JSR311, section 3.7.2, step 2, the @Path annotation on the sub-resource class will be ignored.

IOW, in your example,a GET to "/test/locator" will be matched, but a GET to "/test/locator/abc" will not be matched.

Marek

On 02/20/2012 08:34 PM, Bill Burke wrote:
> i have a bug from a user that I"m not sure its a bug or not because the spec isn't clear:
>
> The spec allows a service locator that has no @Path annotation on the class:
>
> public class MyLocator {
>
> @GET
> public String foo() {..}
>
>
> Now, if this class has a @Path on it, is that @Path ignored or not when matching?
>
>
> @Path("abc")
> public class MyLocator {
>
> @GET
> public String foo() {...}
> }
>
>
> @Path("/test")
> public class MyService {
>
> @Path("/locator")
> public MyLocator getLocator() {...}
>
> }
>
>
> So, to get to call teh foo() method is the path "/test/locator/abc" or /test/locator"? Is the class level @Path ignored
> or not?
>
>