@DateTimeFormat (iso = ISO.DATE_TIME) в Rest-Call не работает, когда предоставленный часовой пояс совпадает с часовым поясом сервера - PullRequest
0 голосов
/ 27 января 2020

У меня есть вызов Spring Boot Rest, который выглядит следующим образом:

@GetMapping(value = "/bar", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Page<Bar>> getBarList(
        @RequestParam(name = "date", required = true) @DateTimeFormat(iso = ISO.DATE_TIME) ZonedDateTime date)

Часовой пояс сервера +01: 00 [Европа / Берлин]. Если я предоставлю на стороне клиента дату, соответствующую часовому поясу сервера, вызов будет отклонен как неправильный запрос:

var date = "2019-01-01T00: 01: 00.000 + 01: 00 ";

Я могу указать любой другой часовой пояс, а затем вызов на стороне клиента успешно вызывает функцию на стороне сервера, например:

2019-01-01T00:01:00.000-01:00
2019-01-01T00:01:00.000-07:00
2020-01-31T00:01:00.000Z

Фактически любой положительный часовой пояс приводит к ошибка неверного запроса (например, также 2019-01-01T00: 01: 00.000 + 02: 00 или 2019-01-01T00: 01: 00.000 + 03: 00). Как я могу указать часовой пояс +1?

Мне кажется, я что-то упустил, как это работает.

...