Spring Boot Web - 在 Jackson 中将 FAIL_ON_UNKNOWN_PROPERTIES 设置为 false

2024-04-21

我已经阅读了 Spring boot 文档(http://projects.spring.io/spring-boot/docs/docs/howto.html#message.converters http://projects.spring.io/spring-boot/docs/docs/howto.html#message.converters)并且它提到如果您提供自己的 JacksonConvertor,它将覆盖默认的。但我猜它不适用于下面的代码。

我想要做的是将对象映射器的 DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES 设置为 false。

@EnableAutoConfiguration
@ComponentScan("com.hjh")
@Configuration
public class App {

    @Bean
    @Primary
    public MappingJackson2HttpMessageConverter jacksonConvertor(){
        MappingJackson2HttpMessageConverter convertor= new MappingJackson2HttpMessageConverter();
        ObjectMapper mapper = new ObjectMapper();
        mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
        convertor.setObjectMapper(mapper);
        return convertor;
    }

    public static void main(String[] args) throws Exception {
        ApplicationContext ctx =   SpringApplication.run(App.class, args);

    }

任何人都可以指出我在这里做错了什么吗?因为它不断尝试绑定请求中的未知道具。如果我删除未知的道具,一切都会顺利


从Spring Boot 1.2.0.RC2开始FAIL_ON_UNKNOWN_PROPERTIES被设定为false默认情况下。可以通过添加属性来重新打开它application.properties:

spring.jackson.deserialization.fail-on-unknown-properties=true
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Boot Web - 在 Jackson 中将 FAIL_ON_UNKNOWN_PROPERTIES 设置为 false 的相关文章

随机推荐