Spring 3 – ZonedDateTime Дата десериализации, которая не существуетJAVA

Программисты JAVA общаются здесь
Anonymous
Spring 3 – ZonedDateTime Дата десериализации, которая не существует

Сообщение Anonymous »

Ищу объяснение.
У меня есть Spring API, который принимает дату как ZonedDateTime в формате ISO и возвращает дату в формате UTC. Когда я отправляю несуществующий день, например 2024-09-31T02:00-04:00, он возвращается пользователю как 2024-09-30T06:00Z. .
Когда я отправлю 2024-09-32T02:00-04:00, я получу ошибку десериализации. Почему я не получаю то же самое за 9-31?
Объект
public class Object implements Serializable {
private static final long serialVersionUID = xxx;

@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mmXXX")
private ZonedDateTime date;

}

Контроллер
@PostMapping(value = "endpoint", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
@Validated
public ResponseEntity submitLoadBids(@Valid @RequestBody Object testObj){
return ResponseEntity.ok().body(testObj);
}

Тело запроса
{
"date": "2024-09-31T02:00-04:00"
}

Ответ
{
"date": "2024-09-30T06:00Z"
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... esnt-exist

Вернуться в «JAVA»