当我调用下一个代码时:
Response response = target.request(MediaType.APPLICATION_JSON_TYPE)
.post(Entity.entity(form, MediaType.APPLICATION_FORM_URLENCODED_TYPE));
response.getEntity();
Run Code Online (Sandbox Code Playgroud)
response.getEntity()始终为null.
但是当我调用时:
JsonObject json = target.request(MediaType.APPLICATION_JSON_TYPE)
.post(Entity.entity(form, MediaType.APPLICATION_FORM_URLENCODED_TYPE), JsonObject.class);
Run Code Online (Sandbox Code Playgroud)
变量json不为null.
我需要使用第一个变体,因为我需要检查响应状态.
为什么第一个代码不起作用?我怎样才能获得状态代码呢?
您需要使用它response.readEntity(Your.class)来返回所需类型的实例.例如
String rawJson = response.readEntity(String.class);
// or
JsonObject jsonObject = response.readEntity(JsonObject.class);
Run Code Online (Sandbox Code Playgroud)
请注意,实际上需要一个提供程序来处理读取Java类型和application/json.如果您使用的是Jersey和JSON-P API,请参阅此内容.有关提供商的一般信息,请参阅此内容
| 归档时间: |
|
| 查看次数: |
6379 次 |
| 最近记录: |