如何在java中从OutboundJAXRResponse获取实际值?
在我的RestClient中,客户端返回以下对我的jersey服务的响应。 OutboundJaxrsResponse{status=200,reason=OK,hasEntity=true,closed=false,buffered=false} 上面的返回列表。如何获取列表以及如何验证每个记录id?如果id在我的数据库中不可用,则需要存储缺少的id。如何处理此问题 下面是我的代码如何在java中从OutboundJAXRResponse获取实际值?,java,jersey-2.0,jersey-client,Java,Jersey 2.0,Jersey Client,在我的RestClient中,客户端返回以下对我的jersey服务的响应。 OutboundJaxrsResponse{status=200,reason=OK,hasEntity=true,closed=false,buffered=false} 上面的返回列表。如何获取列表以及如何验证每个记录id?如果id在我的数据库中不可用,则需要存储缺少的id。如何处理此问题 下面是我的代码 public Response list() throws Exception { Response r
public Response list() throws Exception {
Response response = null;
RestClient client = service.getClient();
try {
response = client.invokeServiceGETForArray(serviceType, "/test/name", null, null);
JsonArray responseLst = (JsonArray) response.readEntity(JsonArrayBuilder.class);
System.out.println("Response Array List :: " + responseLst);
} catch (Exception e) {
return Response.status(Status.INTERNAL_SERVER_ERROR).entity(e.getLocalizedMessage()).build();
}
return response;
}
上述代码段返回以下响应:
OutboundJAXRResponse{status=200,reason=OK,hasEntity=true,closed=false,buffered=false}
我正在尝试使用以下代码读取响应:
JsonArray responseLst=(JsonArray)response.readEntity(JsonArrayBuilder.class);
但这是一个例外。
java.lang.IllegalStateException:出站消息不支持方法。
位于org.glassfish.jersey.message.internal.OutboundJaxrsResponse.readEntity(outboundjaxresponse.java:145)
提前谢谢,您不能这样做。出站
Response
s仅用于服务器端。即使如此,你想做的也不是一个好主意。您正在尝试完全更改响应,这不会给用户任何机会从真实的响应中获取信息,java.lang.IllegalStateException:出站消息不支持方法。