Erik Holstad
2014-03-24 21:26:52 UTC
I have a servlet that looks something like:
@POST
@Path("")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public Response createUser(@FormParam(Params.NAME)
RequiredString name) {
name.toString();
return Response.ok().build();
}
Where RequiredString validates the input and throws a
WebApplicationException if it fails.
This works fine when I deploy the code to a server or even when I use the
maven-jetty-plugin to run integration tests.
The problem occurs when I run this using the JerseyTest class. Everything
is fine when I pass in valid data into name, but as soon as I pass in empty
string or null I get a NPE from the toString() method on the name variable
instead of the WebApplicationException I would expect.
When stepping through the code I see it going in to the code where the
exception is being thrown, but it looks like it just fails silently and
just continues the execution.
Thoughts?
@POST
@Path("")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public Response createUser(@FormParam(Params.NAME)
RequiredString name) {
name.toString();
return Response.ok().build();
}
Where RequiredString validates the input and throws a
WebApplicationException if it fails.
This works fine when I deploy the code to a server or even when I use the
maven-jetty-plugin to run integration tests.
The problem occurs when I run this using the JerseyTest class. Everything
is fine when I pass in valid data into name, but as soon as I pass in empty
string or null I get a NPE from the toString() method on the name variable
instead of the WebApplicationException I would expect.
When stepping through the code I see it going in to the code where the
exception is being thrown, but it looks like it just fails silently and
just continues the execution.
Thoughts?
--
Regards Erik
Regards Erik