我目前正在使用Jersey&杰克逊用于创建REST服务。现在,当Resource方法生成application / json并返回POJO时,它正确地将对象序列化为JSON并将响应返回给客户端。
我现在要做的就是设置泽西岛,所以当一个查询参数进来时(比方说"缩进"),我可以告诉杰克逊在一个更漂亮的序列中序列化JSON格式,又缩进"。您可以通过使用SerializationConfig.Feature.INDENT_OUTPUT配置JSON映射器,轻松告诉Jackson执行此操作。
问题是,我如何根据请求获取查询参数并使用它来修改杰克逊的输出?
答案 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);
}
...
}
您在寻找什么?