Как настроить 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 Я бы предпочел добавить это как комментарий