我试图通过对我的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
我不知道为什么要更改它们,我想让杰克逊完全按原样反序列化日期
答案 0 :(得分:1)
该设置的文档说,
“如果启用,上下文的TimeZone本质上将覆盖任何其他 时区信息;如果禁用,则仅在有值时使用 本身不包含任何TimeZone信息。”
因此,由于您的序列化格式没有指示时区,因此该设置不会影响您的反序列化。
我的建议是,如果可能,在传递序列化日期时始终包含一个时区-这样,毫无疑问如何解释该值。