rest - when jersey cannot map a query parameter, fails with 404, why so? -
i'm not jersey guru read jersey cannot resolve java methods based on query params, looks does, here example.
this server code:
@get @path("/services") public string getall( @queryparam("limit") integer limit, @queryparam("offset") integer offset){ return "1 2 3"; }
and client code:
clientresponse response = webresource .path("services") .queryparam("limit", "ab") .get(clientresponse.class); logger.info(response.tostring()); assertequals(response.getstatus(), 200);
it looks jersey doesn't "ab" , isn't able map query param returns 404, if limit = "1", can hit right method.
is jersey right return 404 in case?, know broad interface using string rather integer override treatment feasible sintax error., can configure jersey on behalf?
i'm using server: grizzly/1.9.18, jersey 1.11
thanks!
currently not possible in jersey. maybe come feature make more friendly. how @errorparam annotation can attach parameter. if such parameter present , queryparam conversion fails, query param populated default value , real string value of param in error added name-value map passed in param annotated @errorparam?
@get @path("/services") public string getall( @queryparam("limit") integer limit, @queryparam("offset") integer offset, @errorparam multivaluedmap<string, string> typeerrors) { if (!typeerrors.isempty()) { // } return "1 2 3"; }
i filed rfe here:http://java.net/jira/browse/jersey-1263
please comment if have opinion.
Comments
Post a Comment