Quarkus JsonB переходит в другой часовой пояс
Quarkus jsonb десериализует json в формате UTC. Как я могу настроить другой часовой пояс?
public class AtendimentoDTO {
public Integer id;
@JsonbDateFormat("dd/MM/yyyy HH:mm:ss")
private Date dataAtualizacao;
}
Вывод в UTC:
"dataAtualizacao": "23/05/2020 21:55:57"
зависимость maven:
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-jsonb</artifactId>
</dependency>
3 ответа
Решение
Я смог исправить это, изменив провайдера на jackson
и используя:
@JsonFormat(shape = JsonFormat.Shape.STRING,
pattern = "dd/MM/yyyy HH:mm:ss", timezone = "GMT-3")
Попробуйте этот формат даты:
@JsonbDateFormat("dd/MM/yyyy HH:mm:ss Z")
И, кстати, LocalDateTime не поддерживает часовые пояса. Вам нужно использовать ZonedDateTime, но я не уверен, работает ли это из коробки с JsonB, иначе вам нужно написать для него сериализатор и десериализатор.
Ты можешь использовать LocalDateTime
вместо того Date
. LocalDateTime примет часовой пояс системы по умолчанию, аDate
по умолчанию будет использовать часовой пояс UTC.