Hi there. I'm having some trouble wrapping my head around ResponseBuilder
and how it handles error flow conditions. My apologies if this question
belongs on another list: I'm a refugee from rails and I've not quite
internalized the various boundaries.
My problem is that I'd like to respond to a REST request with a particular
error code and nothing else, but I can't get rid of the default Glassfish
HTML error page. I've got a @Post method that returns the created object,
which is annotated with @XMLRootObject. Works like a champ for the regular
flow, but for duplicate create requests I tried to send a 409 Conflict:
if(userDAO.findUserByEmail(email) != null) {
throw new WebApplicationException(409);
}
Which when invoked with curl gave me the 409 as desired, plus a big XHTML
error page. I have also tried changing the return type to a Response and
using
return Response.noContent().status(409).build();
return Response.status(409).entity("").build();
return Response.status(409).build();
all of which return the HTML error page. I've tried sending 409s to a
blank.html page in the web.xml but that didn't work either (I found out why
in an archive search here:
https://jersey.dev.java.net/servlets/ReadMsg?listName=users
<
https://jersey.dev.java.net/servlets/ReadMsg?listName=users&msgNo=484>
&msgNo=484
I have a feeling this is a RTFM moment but I can't find the appropriate M to
FR. Any help would be greatly appreciated.
Rod