users@jax-rs-spec.java.net

[jax-rs-spec users] Re: SubResource method vs SubResource locator clarification

From: Santiago Pericas-Geertsen <Santiago.PericasGeertsen_at_oracle.com>
Date: Mon, 27 Apr 2015 09:21:14 -0400

Hi Sergey,

> POST /root/1
>
> @Path("root")
> public class Root1 {
> @GET @Path("1") Response get() {...}
> @Path("{id}") Root1Sub getSub() {...}
> }
>
> getSub() is discarded, we have 405.
>
> but with
>
> @Path("root")
> public class Root2 {
> @GET @Path("{id}") Response get() {...}
> @Path("1") Root2Sub getSub() {...}
> }
>
> getSub() is selected and is given a chance to check if it has a POST handler.
>
> I've just re-read 3.7.2.2, (g) and (h) in particular, and it appears that a sub-resource locator never gets a chance if there's a path match on one of the current resource's methods such as "get()".

 Why? Are you saying that in (g) the set M is not empty? I'm assuming you're talking about your second example above.

-- Santiago