This may seem like an over kill but here is how I do it. I have a String instance variable in my Exception classes with default set to Media type json and before I throw the exception I set the value to the appropriate media type [if not JSON] and in my Exception Mapper the Response object uses the media type set for the exception.
CC: [email protected] From: [email protected] Subject: Re: ExceptionMapper and Media Types Date: Thu, 18 Aug 2011 12:20:06 -0500 To: [email protected] Thanks Michael... That is actually what I started doing today. Still not working. Tracing to the code and so far it seems there is something wrong picking the right produces method in the entity I'm returning. Also, I had to set the type on the response in the mapper. It just seem that winks forgets about media type when exception handling. Gino B. On Aug 18, 2011, at 9:41 AM, Michael Elman <[email protected]> wrote: Why do you need a pair of ExceptionMappers? ExceptionMapper returns Response, which can contain an entity. The entity will be serialized based on the Accept header. On Thu, Aug 18, 2011 at 5:24 PM, Gino Bustelo <[email protected]> wrote: I'm looking for a way to control the rendering of an exception based on the media type. Basically, the same exception can yield an HTML payload or a JSON structure based on Accept header. I tried to achieve this with a pair of ExceptionMapper subclasses and the @Produces annotation. The json mapper is getting call all the times. What am I doing wrong? I'm think that I'm left with looking at the accept header in the mapper an producing the different response entities.
