Ich konnte nicht finden, Beispiele zu verwenden Jackson2ObjectMapperBuilderCustomizer.java im Frühjahr Boot 1.4, um die Funktionen von Jackson anzupassen.Wie man Jackson im Frühjahr Boot anpassen 1.4
Die doco für Boot in Jackson Customizing 1,4-http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-customize-the-jackson-
Meine Konfiguration funktioniert, obwohl ich bin nicht sicher, ob dies der richtige Weg ist, um das Objekt Mapper mit 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;
}
}
anpassen Um einen Kontext bereitzustellen, befindet sich diese Klasse in meinem eigenen Spring-Starter-Projekt für REST-Services, das einfach eine Reihe von Dingen wie ControllerAdvice und einige triviale Funktionen wie die oben genannten automatisch konfiguriert.
Also mein Ziel ist es, die Jackson-Konfiguration zu erweitern, anstatt jede Konfiguration zu überschreiben, die von boot oder anderen Paketen bereitgestellt wird.
Spot auf! Das habe ich ursprünglich versucht, aber ich muss etwas falsch gemacht haben, danke. – Reece