【发布时间】:2014-11-13 21:54:38
【问题描述】:
我目前的情况是,我有一个接受传入 JSON 消息的 POST 的 REST 端点。
问题是我认为我不能指定 POJO 对象,因此 Jackson 可以将 JSON 编组到 POJO 对象中。这样做的原因是我无法控制该端点的内容,并且字段和类型的数量会随着时间而变化,因此,事先定义 POJO 似乎不是一种选择。
所以我想问题是......我可以简单地告诉杰克逊不要做任何编组并给出响应的字符串吗?我可以稍后用 JSONObject-JSONArray 或 Gson 来处理这个问题。假设我有这样的方法:
@POST
@Path("/callback")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public Response facebookUpdate(String json) {
//Do something with the json response...
}
如果这对 Jersey-JAX 不可行......还有其他选择吗?
谢谢! 亚历杭德罗
【问题讨论】:
-
可行。但是,我没有明确地处理这个问题,而是实现了一个自定义参数类。 Jersey 不是很挑剔,你可以只拥有一个提供
valueOf(String)方法、以String作为参数或fromString(String)方法的构造函数的任何类的对象。听起来是一个封装解析的好地方。 -
好点,我会试试 Tom,非常感谢
标签: java json rest jax-rs jersey-2.0