一尘不染

如何在Spring Boot应用程序中配置Jackson而不覆盖纯Java中的Springs默认设置

spring-boot

在我的springboot应用程序中,我使用Jackson注入ObjectMapper需要的位置来序列化对象。

但这创建了一个新的mapper-具有jacksons的默认设置。

另一方面,我在官方文档中找到了这个。我不是很了解 没有示例代码。

那么如何在Springs默认对象映射器的基础上配置Springs ObjectMapper?

无论在何处注入,此配置都应在“ ObjectMapper”上处于活动状态。


阅读 482

收藏
2020-05-30

共1个答案

一尘不染

你应该Jackson2ObjectMapperBuilderCustomizer为此使用

@Configuration
public class JacksonConfiguration {

    @Bean
    public Jackson2ObjectMapperBuilderCustomizer addCustomBigDecimalDeserialization() {
        return new Jackson2ObjectMapperBuilderCustomizer() {

            @Override
            public void customize(Jackson2ObjectMapperBuilder jacksonObjectMapperBuilder) {
               jacksonObjectMapperBuilder.featuresToDisable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
               // Add your customization
               // jacksonObjectMapperBuilder.featuresToEnable(...)      
            }
        };
    }
}
2020-05-30