我目前正在使用 Jersey & Jackson 创建 REST 服务。现在,当 Resource 方法生成 application/json 并返回一个 POJO 时,它会正确地将对象序列化为 JSON 并将响应返回给客户端。
我现在要做的是设置 Jersey,这样当查询参数出现时(比如说“缩进”),我可以告诉 Jackson 以“更漂亮的格式,也就是缩进”序列化 JSON。您可以通过使用 SerializationConfig.Feature.INDENT_OUTPUT 配置 JSON 映射器轻松告诉 Jackson 执行此操作。
问题是,我如何根据每个请求获取查询参数并使用它来修改 Jackson 的输出?
最佳答案
像这样:
@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);
}
...
}
您要找的是什么?
关于java - Jersey & Jackson - 修改 Jackson 输出的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10725879/