【发布时间】:2021-06-16 17:53:43
【问题描述】:
我为我的 SpringBoot 应用程序配置了自己的 ObjectMapper,假设对象映射器如下所示(简化):
@Bean
@Primary
public ObjectMapper objectMapper() {
return new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
}
由于ObjectMapper 是singleton,我所有的 REST 控制器都使用相同的 ObjectMapper。
但是,有一些控制器我想忽略空值,但我想保留我的控制器的其余部分来发送空值响应。
有没有办法配置它?所以最好的结果是我可以这样配置:
- 控制器 A、B、C -> ObjectMapper X(忽略空值)
- 控制器 D -> ObjectMapper Y(忽略空值)
- 默认(所有其他控制器)-> ObjectMapper Z(返回空值)
需求说明:
- 我无法更改 POJO,因为它是自动生成的,我不想为此更新 codegen 库或 mustache 模板。
- 不能选择具体的内容协商
【问题讨论】:
标签: spring spring-boot jackson objectmapper