Hi list,

I'm having problems with negotiation not working with my @Get("json") and 
@Get("txt") annotated methods and couldn't understand why so I decided to 
investigate.

I found that in ServerResource I end up at result = doHandle(); in 
doNegotiatedHandle which if I understand is the case when negotiation can't 
find any suitable annotated method/variant and it will just execute the default 
method. 

This happens because annotationInfo.isCompatible returns false so I looked into 
AnnotationInfo.java and I can't understand how the logic in 
isCompatibleRequestEntity could work right with annotated get methods which has 
no input parameters.

Specifically isCompatibleRequestEntity will always result in false when the 
method in question has no input parameters (getRequestVariants returns null) 
and so will return false. But @Get annotated methods naturally has no 
parameters so I don't understand how this logic can work?

It seems unlikely that I'm correct since this case can't be uncommon... so 
perhaps I'm reading the code all wrong, but if that's the case any 
clarification would hopefully help me.

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

Reply via email to