反序列化时如何停止Jackson更改日期时间

时间:2018-07-20 13:23:59

标签: java date spring-boot jackson

我试图通过对我的Spring Boot应用程序的get请求来检索带有日期字段的对象。日期在数据库中是正确的,在调试时是正确的,但是在杰克逊反序列化日期时,日期会更改1小时。

在课堂上

@JsonFormat(pattern = "dd-MM-yyyy HH:mm")
private Date matchDate;

在application.properties中

spring.jackson.deserialization.adjust-dates-context-time-zone = false

我不知道为什么要更改它们,我想让杰克逊完全按原样反序列化日期

1 个答案:

答案 0 :(得分:1)

该设置的文档说,

  

“如果启用,上下文的TimeZone本质上将覆盖任何其他   时区信息;如果禁用,则仅在有值时使用   本身不包含任何TimeZone信息。”

因此,由于您的序列化格式没有指示时区,因此该设置不会影响您的反序列化。

我的建议是,如果可能,在传递序列化日期时始终包含一个时区-这样,毫无疑问如何解释该值。