Ich habe versucht, kundenspezifisches Problem Handler hinzuzufügen Mapper mit Jackson2ObjectMapperBuilderCustomizer zum Objekt:kann nicht eingestellt ProblemHandler zu ObjectMapper im Frühjahr Boot-
@Bean
public Jackson2ObjectMapperBuilderCustomizer customizer() {
return new Jackson2ObjectMapperBuilderCustomizer() {
@Override
public void customize(Jackson2ObjectMapperBuilder builder) {
ObjectMapper m = builder.build();
m.addHandler(
new DeserializationProblemHandler() {
@Override
public boolean handleUnknownProperty(DeserializationContext ctxt, JsonParser p, JsonDeserializer<?> deserializer, Object beanOrClass, String propertyName) throws IOException {
System.out.println("ahahahaa");
return super.handleUnknownProperty(ctxt, p, deserializer, beanOrClass, propertyName);
}
}
);
}
};
}
Aber wenn ich ObjectMapper Bohne _problemHandlers autowired Eigenschaft ist null.
Ich habe versucht, auch nur existierte customize ObjectMapper mit:
@Autowired
public customize(ObjectMapper mapper) {
...
}
Aber Ergebnis ist das gleiche. Ich weiß nicht, wer diese Eigenschaft löschen kann. Ich initialisiere keine anderen Ersteller/Fabriken/etc von Objekt Mapper an einem anderen Ort. Was mache ich falsch?