cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Beryozkin" <sbery...@progress.com>
Subject Re: JAX-RS: Media Type Determination - Exceptions & Custom Responses
Date Fri, 15 May 2009 11:46:37 GMT
Hi David

if you add @Produces("application/xml", "application/json") then it should do the trick...,
provided 
Accept headers specifies either "application/xml" or "application/json"

Give it a try please

Cheers, Sergey



----- Original Message ----- 
From: "David Castro" <apudcastro@entwash.org>
To: <users@cxf.apache.org>
Sent: Friday, May 15, 2009 8:33 AM
Subject: JAX-RS: Media Type Determination - Exceptions & Custom Responses


>I have services that are returning either XML or JSON data (based on user
> Accept headers).  However, when an exception occurs or when I want to return
> a custom response, I want to respond with the appropriate media type.  Take
> the example below:
> 
> ========
> @PUT
> @Path("/{id}")
> public CustomResponse updateContact(@PathParam("id") int id, Contact
> contact);
> 
> If I PUT as XML, I want to return the following response:
> 
>    <?xml version="1.0" encoding="utf-8"?>
>    <response>
>      <statusCode>200</statusCode>
>      <message>Success</message>
>    </response>
> 
> However with JSON, I want to return the equivalent JSON response:
> 
>    {"response":{"statusCode":200,"message":"Success"}}
> 
> ========
> 
> Can I do one of the following?:
> 
> 1. Easily determine the current media type for the response so that I can
> properly serialize.
> 2. Somehow get CXF to do the serialization to the appropriate type for me.
> 
> The same case exists for custom exceptions.  Is there anywhere in the
> exception handling chain I can determine mime type and do one of the
> following?:
> 
> 1. Have the custom response object generate either XML or JSON based on the
> requested media type
> 2. Get CXF to use a status code plus an entity that will be serialized to
> the client (in this case a "response" or "error" object of some form)
> 
> Not sure if there is a way to do either of these things?
> 
> Cheers,
> David
>

Mime
View raw message