Почему @JSONFormat неправильно устанавливает формат даты и времени в приложении Spring Boot? - PullRequest
0 голосов
/ 25 января 2019

У меня есть API-интерфейс Spring Boot, в котором в поле даты запроса JSON отправляется, но в коде приложения оно не форматируется правильно, и, следовательно, происходит сбой вызова БД из-за проблемы привязки

Это поле отправляется в запросе JSON: -

 "created_at": "2014-08-12 11:48:41.000000"


@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss.SSSSSS", timezone="AEST")
private Date createdAt;

Когда вызывается метод getCreatedAt() Дата приходит в формате - вторник, 12 августа, 07:48:41 ПО ВОСТОЧНОМУ ВРЕМЕНИ 2014

Но я ожидаю, что в том же форматекак это было отправлено

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Сначала добавьте @JsonSerialize(as = Date.class) аннотацию и сделайте JsonFormat

@JsonSerialize(as = Date.class)
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss.SSSSSS", timezone="AEST")
private Date createdAt;
0 голосов
/ 25 января 2019

@JsonFormat аннотация используется для указания формата, который будет использоваться для сериализации свойства, и, кажется, делает это правильно. при вызове getCreatedAt() вы получите объект Date, и вам решать, как вы хотите его отформатировать.

...