Десериализация LocalDateTime с помощью модуля Jackson JSR310

Я использую описанную библиотекустраница типа данных Джексона JSR310 но мне все еще трудно заставить его работать.

Я настроил следующий компонент:

@Bean
@Primary
public ObjectMapper objectMapper() {
    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(new JSR310Module());
    return mapper;
}

Когда я вызываю мой REST API, выводится формат датыyyyy-MM-dd'T'HH:ss.SSSSSSнапример,2015-04-11T00:10:38.905847, Это прекрасно обрабатывается моим кодом AngularJS.

Когда я хочу отправить что-то в REST API, дата публикуется какyyyy-MM-dd'T'HH:mm:ss.SSS'Z'например,2015-04-09T08:30:00.000Z

Джексон продолжает жаловаться на «Z» в конце. Если я посмотрю наLocalDateTimeDeserializer в документации он используетDateTimeFormatter.ISO_LOCAL_DATE_TIME который кипит доISO_LOCAL_DATE'T'ISO_LOCAL_TIME и упоминается, что у него нет зоны отмены.

Так что я решил установитьDateFormat наObjectMapper Я создаю:

@Bean
@Primary
public ObjectMapper objectMapper() {
    ObjectMapper mapper = new ObjectMapper();
    mapper.registerModule(new JSR310Module());
    mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"));
    return mapper;
}

Но это ничего не делает. Я изменил это на что-то простое, какyyyy-MM-dd но сериализованная дата осталась в прежнем формате, и десериализация также не затронута.

Что я делаю не так, чтобы заставить это работать? Формат даты в моем коде JavaScript, насколько я знаю, формат ISO 8601 ...

Ответы на вопрос(3)

Ваш ответ на вопрос