当我调用下一个代码时:
Response response = target.request(MediaType.APPLICATION_JSON_TYPE)
.post(Entity.entity(form, MediaType.APPLICATION_FORM_URLENCODED_TYPE));
response.getEntity();
response.getEntity() 始终为 null。
但是当我调用时:
JsonObject json = target.request(MediaType.APPLICATION_JSON_TYPE)
.post(Entity.entity(form, MediaType.APPLICATION_FORM_URLENCODED_TYPE), JsonObject.class);
变量 json 不为空。
我需要使用第一个变体,因为我需要检查响应状态。
为什么第一个代码不起作用?那我怎样才能获得状态代码?
最佳答案
您需要使用 response.readEntity(Your.class)
返回所需类型的实例。例如
String rawJson = response.readEntity(String.class);
// or
JsonObject jsonObject = response.readEntity(JsonObject.class);
请注意,实际上需要有一个提供程序来处理读取该 Java 类型和 application/json。如果您使用的是 Jersey 和 JSON-P API,请参阅 this .有关提供者的一般信息,请参阅 this
关于java - JAX-RS response.getEntity 在发布后返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32104388/