I am customizing treatment of collections in my Jackson's object mapper in my Spring Boot config by constructing a new mapper like so
@Configuration
public class Config {
@Autowired(required = true)
public void objectMapper(ObjectMapper mapper) {
mapper.configOverride(Collection.class).setInclude(JsonInclude.Value.construct(JsonInclude.Include.NON_EMPTY, null));
mapper.configOverride(List.class).setInclude(JsonInclude.Value.construct(JsonInclude.Include.NON_EMPTY, null));
mapper.configOverride(Map.class).setInclude(JsonInclude.Value.construct(JsonInclude.Include.NON_EMPTY, null));
}
While this works, I understand that a more elegant approach is to use Jackson2ObjectMapperBuilderCustomizer
:
@Bean
public Jackson2ObjectMapperBuilderCustomizer customizeJackson2ObjectMapper() {
return new Jackson2ObjectMapperBuilderCustomizer() {
@Override
public void customize(Jackson2ObjectMapperBuilder builder) {
builder
.indentOutput(true)
.someOtherMethod(...)
}
};
}
How do I implement ObjectMapper collection tweaks above via Jackson2ObjectMapperBuilder ?