Как я могу десериализовать java.time.LocalDate в Spring HATEOAS?
Я создаю приложение Spring HATEOAS. Когда я размещаю документ JSON, содержащий даты ISO8601, я получаю:
Не удалось прочитать сообщение HTTP: org.springframework.http.converter.HttpMessageNotReadableException: не удалось прочитать документ: текст '2016-05-13T21:00:00.000Z' не может быть проанализирован, непарсированный текст найден в индексе 10 (через цепочку ссылок: com.my.package.web.resources.MyResource["StartDate"]); вложенное исключение - com.fasterxml.jackson.databind.JsonMappingException: текст '2016-05-13T21:00:00.000Z' не может быть проанализирован, непарсированный текст найден по индексу 10 (через цепочку ссылок: com.my.package.web. resources.MyResource [ "StartDate"])
У меня есть jackson-datatype-jsr310 в моем классе, как предложено здесь. Я также пытался явно объявить @JsonDeserialize
/@JsonSerialize
в соответствующих полях с использованием стандартных и пользовательских десериализаторов. Есть идеи?
1 ответ
Нашел решение. Оказывается, мой jackson-dataype-jsr310 был немного стар (2.6.4), и "Z" в дате создал проблему. Использование последней версии lib (2.7.3) решает проблему.