Read response body in JAX-RS client from a post request
Try this:
String output = response.getEntity(String.class);
EDIT
Thanks to @Martin Spamer to mention that it will work for Jersey 1.x jars only. For Jersey 2.x use
String output = response.readEntity(String.class);
I just found a solution for jaxrs-ri-2.16 - simply use
String output = response.readEntity(String.class)
this delivers the content as expected.
For my use case, none of the previous answers worked because I was writing a server-side unit test which was failing due the following error message as described in the Unable to Mock Glassfish Jersey Client Response Object question:
java.lang.IllegalStateException: Method not supported on an outbound message.at org.glassfish.jersey.message.internal.OutboundJaxrsResponse.readEntity(OutboundJaxrsResponse.java:145)at ...
This exception occurred on the following line of code:
String actJsonBody = actResponse.readEntity(String.class);
The fix was to turn the problem line of code into:
String actJsonBody = (String) actResponse.getEntity();