Query: How to ensure server sends JSON Media, when server is set with both 
Application_XML and Application_JSON Media Types (Produces annotation).

I am executing a RESTEasy POC. 
I updated the server to accept and respond with both XML and JSON Media type. 

     @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
     @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
     public RestReqRes getData(Data request);
 In the client code, I have done this:
    this.clientService = ProxyFactory.create(clientService.class, baseURL,
  and Override execute() method in ApacheHttpClient4Executor.
     request.body("application/json", request.getBody());
     return super.execute(request);
When the client is used to POST the Request, like
 clientService.getData(new Data());

I found the below 
The accept header in the Request is updated with "application/xml". 

This happens due to  
 method, which calls org.jboss.resteasy.util.getConsumes() method.

The getConsumes() method returns the consume.value()[0] media type which is  
'application/xml' in this case.

When request.accept(MediaType.APPLICATION_JSON); is executed the accept header 
in the request is updated with
'application/xml, application/json'

Due to this the server always responds with xml format. 

Is there anyway I can override this so that the server responds JSON media as 
per the request.

Thank you,
Malaya Kishore

Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
Resteasy-users mailing list

Reply via email to