配置Spring REST端点在序列化响应对象中的日期字段时忽略附加的时区

时间:2019-08-26 07:37:16

标签: spring postgresql spring-boot jackson

我的Spring Boot应用程序中有一个端点,该端点返回日期范围。 后端是PostgreSQL,数据库中的日期列定义为无时区

我希望我的spring boot应用程序中的端点按原样返回日期。

当前,日期会按照Spring Boot服务器的时区进行序列化。

是否有一种方法可以配置我的spring boot应用程序以在序列化日期时有选择地忽略将时区数据附加到日期上?

实体类如下

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

我刚刚找到了类似的帖子,其中提供了一种优雅的解决方案here

只需将以下所需的时区添加到您的application.properties文件中即可解决

spring.jackson.time-zone= America/Sao_Paulo