提问者:小点点

将Spring RESTendpoint配置为在响应对象中序列化日期字段时忽略附加时区


我在Spring启动应用程序中有一个返回日期范围的endpoint。后端是PostgreSQL,我的数据库中的日期列被定义为没有时区

我希望我的终端在我的Spring启动应用程序返回日期原样。

目前,日期与Spring引导服务器的时区序列化。

有没有办法配置我的Spring启动应用程序,以便在序列化日期时选择性地忽略将时区数据附加到日期?

实体类如下

public class Period{
   private Date startdate;
   private Date enddate;
}

共2个答案

匿名用户

您可以使用更现代的java. time包,而不是过时的java.util.Date

在您的情况下,您可以使用LocalDate(或LocalDateTime)。它不包含任何有关时区或偏移量的信息,默认情况下它被序列化为ISO8601格式,如2019-12-31T23:59:59

匿名用户

我刚刚找到一个类似的职位与优雅的解决方案在这里

只需将所需的时区添加到您的application.properties文件即可解决此问题

spring.jackson.time-zone= America/Sao_Paulo