Spring jackson转换日期格式时导致日期错误及解决方法

Jackson是SpringBoot中默认支持的Json数据格式的转换工具,但是使用Jackson转换日期格式的数据时,会导致json格式的数据的日期和原本的日期不一致,我们需要在配置文件中修改默认配置,来解决这个问题。
我们先把问题列出来,因为只是涉及json数据格式的转换,所以我就不详细讲解SpringBoot的框架搭建了。
首先,在我的程序中,提供了这么一个接口:

/user/{id}

使用restful风格的API来访问数据,这个接口的作用是,根据id来查询用户信息。
我们首先来看一下数据库中的信息。
在这里插入图片描述我们可以看到,在数据库中,有一个id为2,用户名为零的用户,它的生日日期是1997-10-02。
那么我们再来看看使用浏览器访问这个数据,在浏览器中得到的又是什么?
Spring jackson转换日期格式时导致日期错误及解决方法_第1张图片
我们可以看到,浏览器显示出来的数据,生日日期是1997-10-01。

这就是jackson转换日期格式的json数据,导致的日期丢失的错误。
那么我们应该怎么解决这个问题呢?很简单,直接在application.yml配置文件中配置如下属性即可:

spring:
	jackson:
	    default-property-inclusion: ALWAYS
	    time-zone: GMT+8
	    date-format: yyyy-MM-dd

配置完成后,我们再次访问该数据:
Spring jackson转换日期格式时导致日期错误及解决方法_第2张图片
如此,我们就发现,在浏览器中访问的日期格式的数据已经正常了。

你可能感兴趣的:(Spring,java,spring)