Мне не удалось найти примеры использования Jackson2ObjectMapperBuilderCustomizer.java в spring boot 1.4 для настройки функций Jackson.
Doco для настройки Jackson в загрузке 1.4 - http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-customize-the-jackson-
Моя конфигурация работает, хотя я не уверен, что это правильный способ настройки компоновщика объектов с помощью Jackson2ObjectMapperBuilderCustomizer.java
@Configuration
public class JacksonAutoConfiguration {
@Autowired
private Environment env;
@Bean
public Jackson2ObjectMapperBuilder jacksonObjectMapperBuilder(
List<Jackson2ObjectMapperBuilderCustomizer> customizers) {
Jackson2ObjectMapperBuilder builder = configureObjectMapper();
customize(builder, customizers);
return builder;
}
private void customize(Jackson2ObjectMapperBuilder builder,
List<Jackson2ObjectMapperBuilderCustomizer> customizers) {
for (Jackson2ObjectMapperBuilderCustomizer customizer : customizers) {
customizer.customize(builder);
}
}
private Jackson2ObjectMapperBuilder configureObjectMapper() {
Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
List<String> activeProfiles = asList(env.getActiveProfiles());
if (activeProfiles.contains(SPRING_PROFILE_DEVELOPMENT)) {
builder.featuresToEnable(SerializationFeature.INDENT_OUTPUT);
}
return builder;
}
}
Чтобы обеспечить некоторый контекст, этот класс находится в моем собственном проекте spring для служб REST, который только авто настраивает несколько вещей, таких как ControllerAdvice и некоторые тривиальные функции, подобные описанным выше.
Итак, моя цель - расширить конфигурацию Jackson, а не переопределять любую конфигурацию, предоставляемую загрузкой или другими пакетами.