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

标签 spring jackson spring-boot

我已阅读 Spring boot doc ( 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);

    }

谁能指出我在这里做错了什么?因为它继续尝试从请求中绑定(bind)未知 Prop 。如果我删除未知的 Prop ,一切顺利

最佳答案

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

spring.jackson.deserialization.fail-on-unknown-properties=true

关于Spring Boot Web-在 Jackson 中将 FAIL_ON_UNKNOWN_PROPERTIES 设置为 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21262378/

相关文章:

java - 事务的 Spring 自注入(inject)

java - Spring 奇怪地取决于上课地点

java - Docker-Compose - 控制 docker-compose 执行顺序

java - Spring Boot 的指标未显示在 Prometheus 中

java - 使用 Jackson 与 JaxB 注释进行 Json 映射

java - Hibernate 额外懒惰不工作

java - 将 JSF Managed Beans 移动到 Spring beans

java - Mockito 使用时抛出 NPE

java - 根据 id 从 DynamoDB 检索项目并转换该项目

java - 如何从 MongoDB 获取 ObjectId 值?