Как настроить Jackson в приложении весенней загрузки без переопределения настроек по умолчанию в чистом Java

В моем весеннем загрузочном приложении я использую Джексона для сериализации объектов, вводя ObjectMapper где необходимо. Я нашел этот ответ: /questions/44560045/nastrojka-objectmapper-v-spring/44560078#44560078 Но этот создает новый картограф - с настройками по умолчанию Jacksons.

С другой стороны, я нашел это в официальных документах. Я действительно не понял. Там нет примера кода.

Итак, как настроить пружины ObjectMapper на основе стандартного сопоставителя объектов Springs?

Эта конфигурация должна быть активной на "ObjectMapper", где бы ни вводили.

2 ответа

Решение

Вы должны использовать 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(...)      
            }
        };
    }
}

С другой стороны, я нашел это в официальных документах. Я действительно не понял. Там нет примера кода.

Это просто говорит о том, что вам нужно только установить правильные свойства в application.properties файл, чтобы включить или отключить различные функции Джексона.

spring.jackson.mapper.default-view-inclusion=false
spring.jackson.deserialization.fail-on-unknown-properties=false

PS Я бы предпочел добавить это как комментарий

Другие вопросы по тегам