泽西岛&杰克逊 - 资源修改杰克逊输出

时间:2012-05-23 18:37:12

标签: java rest jersey jax-rs jackson

我目前正在使用Jersey&杰克逊用于创建REST服务。现在,当Resource方法生成application / json并返回POJO时,它正确地将对象序列化为JSON并将响应返回给客户端。

我现在要做的就是设置泽西岛,所以当一个查询参数进来时(比方说"缩进"),我可以告诉杰克逊在一个更漂亮的序列中序列化JSON格式,又缩进"。您可以通过使用SerializationConfig.Feature.INDENT_OUTPUT配置JSON映射器,轻松告诉Jackson执行此操作。

问题是,我如何根据请求获取查询参数并使用它来修改杰克逊的输出?

1 个答案:

答案 0 :(得分:1)

这样的事情:

@GET
@Path("path/to/rest/service")
@Produces("application/json")
public Response getSomething(
      @DefaultValue("false") @QueryParam("indent") boolean indent, ...) {
   ...
   if (indent) {
      objectMapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, true);
   }
   ...
}

您在寻找什么?