JSON Ошибка разбора: Невозможно десериализовать значение типа `java .time.LocalDateTime` из String - PullRequest
0 голосов
/ 14 апреля 2020

Я отправляю запрос во внешнюю службу, которая имеет свойство updatedDate

@UpdateTimestamp
@Column(name = "updated_date")
private LocalDateTime updatedDate;

Когда я получаю ответ в своем DTO, я пытаюсь отформатировать свойство LocalDateTime следующим образом

@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd'T'HH:mm:ss")
private LocalDateTime updatedDate;

Но я получаю ошибку в Почтальоне

"message": "JSON parse error: Cannot deserialize value of type `java.time.LocalDateTime` from String \"2020-04-14T10:45:07.719\": Text '2020-04-14T10:45:07.719' could not be parsed at index 14; nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.time.LocalDateTime` from String \"2020-04-14T10:45:07.719\

1 Ответ

2 голосов
/ 14 апреля 2020

Есть миллисекунды во входной строке, поэтому ваш формат должен быть "гггг-ММ-дд'ТХЧ: мм: сс.ССС"

Обновление: если миллисекундная часть состоит из 1, 2 , 3 цифры или не обязательно, вы можете использовать следующий формат:

@JsonFormat(shape=JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss[.SSS][.SS][.S]")
private LocalDateTime updatedTime;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...