Hi
On 19/12/11 18:53, K Fung wrote:
Hi David,

In our organization, we return a Response object with our own entity and
explicitly set the response code. It doesn't look as if MessageBodyWriter
exposes a way to set the response code (by that time, it's probably too
late - I haven't confirmed this in the source code though). Even inside an
ExceptionMapper, you need to return a Response object if you want to set
both the entity and response code at the same time.


Yes, using Response is one approach; MessageBodyWriters can set Content-Type and other headers on the mutable map of headers - but that usually implies that one has to write a custom provider or at least extend one of the providers shipped with CXF.
Response filters can do it too.

The advantage of using specific types is that that can be better represented in auto-generated WADL though Response may be adequately described too; Client proxies will work better with concrete types - but that can be considered a marginal advantage

Cheers, Sergey

Regards,
kl

On Mon, Dec 19, 2011 at 10:05 AM, KARR, DAVID<[email protected]>  wrote:

In my relatively simple JAX-RS services, I return a Java object that's
serialized to XML or JSON.  I typically don't set the HTTP status code.  If
I remember correctly, if instead of just returning my Java object, I use a
pure "javax.ws.rs.core.Response" object I can set the status code, and set
the "entity" to the Java object I want to serialize.  As far as I can tell,
I can't set the status code if I just return a java object.  What is the
best strategy for returning an object AND setting the status code?  Is it
just using the "Response" object as I described?

--------------
David M. Karr
Senior Technical Architect, CDE Web Architecture
ATT Consumer Digital Experience
(425) 288-6027 work
(206) 909-0664 cell

This e-mail, and any attachments, are intended only for use by the
addressee(s) named herein and may contain legally privileged and/or
confidential information. It is the property of AT&T. If you are not the
intended recipient of this email, you are hereby notified that any
dissemination, distribution or copying of this email, any attachments
thereto, and any use of the information contained is strictly prohibited.
If you have received this email in error, please notify me at 425-288-6027and 
permanently delete the original and any copy thereof.






--
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/

Blog: http://sberyozkin.blogspot.com

Reply via email to