java - JAX-RS response.getEntity 在发布后返回 null

标签 java post jax-rs

当我调用下一个代码时:

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/

相关文章:

java - 没有这样的字段错误: MARGIN using ZXing library

java - Hibernate中内部类的实体没有默认构造函数

java - 哪个初始化参数使用 : jersey. config.server.provider.packages 或 javax.ws.rs.Application?

java - 区分相同序列化对象的最简洁方法是什么?

iOS 的 Swift 代码不会发送任何 HTTPS 数据包

java - 服务器访问两种不同类型的线程

post - 上传文件到 Nginx

post - 提取API无法加载网址。飞行前响应无效(重定向)

json - 使用 drakma :http-request 发布 JSON 数据

java - 从 servlet 读取整个 url