java - Jersey & Jackson - 修改 Jackson 输出的资源

标签 java rest jersey jax-rs jackson

我目前正在使用 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/

相关文章:

java - 使用模拟器通过 Retrofit 将我的 REST API 与 Android Studio 连接起来

java - 防止 Jersey 客户端在发布大文件时导致内存不足错误

java - Jersey + Hibernate 将 SessionFactory 注入(inject) DAO

java - YARN 上可用的物理内核数和 VCores 之间的关系?

rest - 领英 v2 API : How can upload an image using ugcPosts API?

java - 从数据库到javamail的编码问题

html - Web 应用程序架构设计 - HTML/CSS/JS 前端 + REST 后端

java - 何时使用 Jersey 的 @Singleton 注释?

java - VS接口(interface)中定义的匿名类。接口(interface)之外的具体类

Java:有没有一些实用的方法来计算