users@jersey.java.net

[Jersey] Re: How to catch the response in case of an invalid query paramter

From: Pengfei Di <pengfei.di_at_match2blue.com>
Date: Fri, 15 Apr 2011 09:01:53 +0200

thanks for the suggestions!

Yes, I know that I can circumvent the problem by declaring the age as
String.
However, I really want to know whether it is possible to declare the age
as Integer, and then catch the exception or define the response by myself.


Pengfei

On 04/15/2011 05:35 AM, Rob - wrote:
> yep, 400 Bad request is better.
>
> ------------------------------------------------------------------------
> Date: Fri, 15 Apr 2011 04:12:53 +0200
> From: daniel.j.larsson_at_gmail.com
> To: users_at_jersey.java.net
> Subject: [Jersey] Re: How to catch the response in case of an invalid
> query paramter
>
> Or 400 BAD REQUEST, the problem is with the client, not the server.
>
> 2011/4/15 Rob - <skyscrapper666_at_hotmail.com>
>
> I'd declare "age" as a string and handle the validation myself. If
> error then return a 500 status code.
>
> No real benefits having "age" declared as integer (to my eyes).
>
> > Date: Thu, 14 Apr 2011 12:42:57 +0200
> > From: pengfei.di_at_match2blue.com
> > To: users_at_jersey.java.net
> > Subject: [Jersey] How to catch the response in case of an
> invalid query paramter
>
> >
> > Hello,
> >
> > I have a very simple GET REST API, which returns something only
> based on
> > the query parameter. For example:
> > @GET
> > @Path("get")
> > public MyClass getSomething ( @QueryParam("age") Integer age);
> >
> > As listed above, I specify the parameter type as Integer. However,
> > problem occurs when the given parameter cannot be parse to an
> integer.
> > For an instance: if the parameter is set as "age=one" instead of
> > "age=1", Jersey server will say "HTTP status 404 - Not Found."
> >
> > What I want to do is to specify the response by myself, but I
> have no
> > idea where I can do it. Shouldn't Jersey throw an
> > NumberFormatException. In fact, it doesn't. :(
> >
> > Thanks for any hint
> > Pengfei
> >
> >
>
>


-- 
Pengfei Di
Technology
match2blue software development GmbH
Leutragraben 1
07743 Jena
Tel: +49 3641 816 8092
Mobil: +49 1520 166 8691
Fax: +49 3641 573 3479
Email: pengfei.di_at_match2blue.com
Web  : www.match2blue.com
Blog : http://blog.match2blue.com
Registergericht: Amtsgericht Jena
Registernummer: HRB 503726
Geschäftsführerin: Stephanie Renda