This might be a silly question, but is there a way to configure how the JAX RS 
extention will react to illegal values for @QueryParameter annotated parameters?

Say for example that you have a @QueryParameter("count") int count field and 
that a client sets the value of the parameter to "zorglub". This is obviously 
not a legal integer and the JAX RS specifications tell us that this should be 
dealt with by returning a 404 error code.

This makes sense when query parameters are "part of the path". There are lots 
of cases however where this error code is just not correct. Imagine for example 
that your REST application serves reports. You'd typically have /reports to 
serve all available reports and /reports/{id} to serve an individual report.
In this case, it's fairly common to accept query parameters in /reports as 
filters to the list of reports (number of items, author name, creation date 
min....). Returning a 404 when one of these parameters is just not correct and 
we should return 400 (the resource was found, but the request was "bad").

Is there any way to override the default error code, or do we have to retrieve 
each parameter as a string and do the analysis ourselves? It seems to somewhat 
defeat the purpose of the mechanism...

Nicolas

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

Reply via email to