On 29-06-10 12:37, Stephan Koops wrote:
> Hi Jeroen,
>
>    
>> I noticed that the restlet jax-rs implementation has difficulties
>> selecting the best resource method when multiple methods (in the same
>> resource) match a given URI.
>>
>> An example will clarify:
>>
>> @Path("foo")
>> public class FooResource {
>>
>>      @GET
>>      @Path(value = "{id}")
>>      public String getFooId(@PathParam(value = "id") Long id) {
>>          return "foo"+id;
>>      }
>>
>>      @GET
>>      @Path(value = "bar")
>>      public String getFooBar() {
>>          return "foobar";
>>      }
>> }
>>
>> GET foo/5    =>   "foo5"
>> GET foo/bar =>  404 Not Found
>>
>> Reason:
>> The algorithm finds in both cases that resource FooResource is the best
>> matching resource. During this research, it even knows that getFooId is
>> the best matching method in the first request, and getFooBar is the best
>> in the second request.
>> But once the resource is chosen, another part of the algorithm looks for
>> the best matching resource method, but seems to be disregarding the
>> amount of literal characters and capturing groups in the matching uri
>> templates.
>> Then both methods are considered equally good, and the first one is
>> chosen in both requests, yielding the error in the latter.
>>
>> This looks like a bug to me. Should I create an issue ?
>>      
> Yes, please.
> It would be cool, if you also could apply a patch, or give detailed notes, 
> where the bug occurs.
>
>    

Issue is tracked in http://restlet.tigris.org/issues/show_bug.cgi?id=1148 .

Wkr,
Jeroen

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2629332

Reply via email to