В Jackson 3 я заметил, что ObjectMapper теперь является неизменяемым и следует шаблону компоновщика, а имена пакетов изменились с com.fasterxml.jackson на Tools.jackson. Кроме того, JavaTimeModule (jsr310), похоже, интегрирован по умолчанию.
Код: Выделить всё
@Bean
public ObjectMapper objectMapper() {
JavaTimeModule module = new JavaTimeModule();
ObjectMapper mapper = new ObjectMapper();
module.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ISO_DATE_TIME));
module.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ISO_DATE_TIME));
module.addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ISO_DATE));
module.addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ISO_DATE));
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
mapper.configure(JsonGenerator.Feature.WRITE_BIGDECIMAL_AS_PLAIN, true);
mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
mapper.registerModule(module);
mapper.setSerializationInclusion(Include.NON_NULL);
return mapper;
}