users@jsr311.java.net

Re: more comments to JSR311

From: Stephan Koops <Stephan.Koops_at_web.de>
Date: Fri, 04 Apr 2008 14:27:02 +0200

Hi Marc,
> @PathParam gets the latest value (lexically) for the parameter.
If I understand lexical order ("123" < "12345" < "124" < "456" < "abc" <
"d" < "def") right, than I see a big problem. Think the following example:

@Path("xx")
public class RootResoureClass {
    @Path("aa/{a}")
    public Src getSubResource(@PathParam("a") String a1, ...) { ...;
return new SubResourceClass(...); }
}

public class SubResourceClass {
    @Path("bb/{a}")
    public String getXy(@PathParam("a") String a2, ...) { }
}

With request ".../xx/aa/456/bb/123": a1 = "456" (correct) and a2 = "456"
(This will confuse *every* developer here, if a2 is not the value of the
matched parameter for this @Path, = "123").
IMO for a @PathParam it *must* be the last of the matched values.
For the other @*Param it doesn't matter for me (I would let it open in
the specification)

best regards
   Stephan