Springboot получает UTC + 1 вместо GMT при вызове из конечной точки - PullRequest
0 голосов
/ 18 февраля 2020

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

Возвращаемая дата - один час до UTC + 1

Но в базе данных дата правильная (UTC + 1)

И при отладке дата из моего объекта также является правильной (UTC + 1)

У меня есть следующий setUp:

Main. java:

@SpringBootApplication
@Slf4j
public class Main extends SpringBootServletInitializer
{
  @PostConstruct
  void started() {
    TimeZone.setDefault(TimeZone.getTimeZone("Europe/Paris"));
  }


Я установил Hibernate на следующий часовой пояс:

application.properties:

spring.jpa.properties.hibernate.jdbc.time_zone = Europe/Paris

Перед отправкой я получаю правильную дату:

Date before post

Дата из базы данных (публикация заняла 4 минуты, поскольку программа находилась в состоянии паузы) :

Date from database

Дата от почтальона при вызове конечной точки

enter image description here

Кто-нибудь имеет представление о том, почему дата, возвращаемая через конечную точку, выглядит как GMT?

1 Ответ

0 голосов
/ 18 февраля 2020

Комментарий от vickirk указал, что проблема была связана с Джексоном

Вам необходимо добавить часовой пояс к аннотации JsonFormat, например:

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy HH:mm:ss", timezone = "Europe/Paris")
@Column(name = "date_creation", nullable = true)
protected Date dateCreation;

Здесь можно найти связанную проблему : { ссылка }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...