Sud*_*hir 10 string json response jersey
我正在使用jersey客户端将文件发布到REST URI,该URI返回响应为json.我的要求是将响应按原样(json)读取到字符串.
以下是将数据发布到Web服务的代码段.
final ClientResponse clientResp = resource.type(
MediaType.MULTIPART_FORM_DATA_TYPE).
accept(MediaType.APPLICATION_JSON).
post(ClientResponse.class, inputData);
System.out.println("Response from news Rest Resource : " + clientResp.getEntity(String.class)); // This doesnt work.Displays nothing.
Run Code Online (Sandbox Code Playgroud)
clientResp.getLength()有281个字节,这是响应的大小,但clientResp.getEntity(String.class)什么都不返回.
任何想法在这里可能是不正确的?
Sud*_*hir 17
我能够找到问题的解决方案.只需在getEntity(String.class)之前调用bufferEntity方法.这将以字符串形式返回响应.
clientResp.bufferEntity();
String x = clientResp.getEntity(String.class);
Run Code Online (Sandbox Code Playgroud)
虽然上面的答案是正确的,但使用Jersey API v2.7,它与Response以下内容略有不同:
Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://localhost:8080");
Response response = target.path("api").path("server").path("ping").request(MediaType.TEXT_PLAIN_TYPE).get();
System.out.println("Response: " + response.getStatus() + " - " + response.readEntity(String.class));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21742 次 |
| 最近记录: |