Wie man Jackson in Spring Boot 1.4 anpasst
Ich konnte keine Beispiele für die Verwendung von @ finde Jackson2ObjectMapperBuilderCustomizer.java in Spring Boot 1.4, um die Funktionen von Jackson anzupassen.
Das Dokument zum Anpassen von Jackson in Boot 1.4 -http: //docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-customize-the-jackson
Meine Konfiguration funktioniert, obwohl ich nicht sicher bin, ob dies der richtige Weg ist, um die Objektzuordnung mithilfe von @ anzupasse 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;
}
}
Um einen gewissen Kontext bereitzustellen, befindet sich diese Klasse in meinem eigenen Spring-Starter-Projekt für REST-Services, in dem nur einige Dinge wie ControllerAdvice und einige triviale Funktionen wie die oben genannten automatisch konfiguriert werden.
So ist mein Ziel, die Jackson-Konfiguration zu erweitern, anstatt jede Konfiguration zu überschreiben, die durch Boot- oder andere Pakete bereitgestellt wird.