[ 
https://issues.apache.org/jira/browse/CXF-6796?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15162764#comment-15162764
 ] 

Sergey Beryozkin edited comment on CXF-6796 at 2/24/16 10:07 AM:
-----------------------------------------------------------------

Hi Jim - are you happy with the explanation ? 
If yes - can you close the issue ?

I guess we can ship something like ObjectStringWriter which will implement 
MessageBodyWriter only (because onviously we will no be able to convert from 
String to the arbitrary object - so no MessageBodyReader). But it will not be 
registered OOB, you'd need to add it to your Application/etc - however as I 
said that can pose the non-compliance risk to a given JAX-RS server if it is 
meant to be a generic server.

Cheers, Sergey



 


was (Author: sergey_beryozkin):
Hi Jim - are you happy with the explanation ? 
If yes - can you close the issue ?

I guess we can ship something like ObjectStringWriter which will implement 
MessageBodyWriter only (because onviously we will no be able to convert from 
String to the arbitrary object - so no MessageBodyReader). But it will not 
registered OOB, you'd need to add it to your Application/etc - however as I 
said that can pose the non-compliance risk to a given JAX-RS server if it is 
meant to be a generic server.

Cheers, Sergey



 

> Improve or extend StringTextProvider to write an Object 
> --------------------------------------------------------
>
>                 Key: CXF-6796
>                 URL: https://issues.apache.org/jira/browse/CXF-6796
>             Project: CXF
>          Issue Type: Improvement
>          Components: JAX-RS
>    Affects Versions: 3.1.5
>            Reporter: Jim Ma
>             Fix For: 3.1.6
>
>
> CXF reports it can't find the message writer for  OrderModel class and 
> text/plain content type when the resource class like the following:  
> {code}
> @Produces("text/plain")
> @Path("order/{id}")
> public class OrderResource {
>    @GET
>     public OrderModel get(@PathParam("id") @CustomMax int id) {
>         return new OrderModel(id);
>     }
> }
> {code}
> It is required to change the return Class to String and explicitly invoke 
> toString() return the String value
> {code}. 
> @Produces("text/plain")
> @Path("order/{id}")
> public class OrderResource {
>     @GET
>     public String get(@PathParam("id") @CustomMax int id) {
>         return new OrderModel(id).toString();
>     }
> }
> {code}
> We can improve StringTextProvider to write the Object with toString value to 
> remove the return type must be String class restriction.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to