Jackson是SpringBoot中默认支持的Json数据格式的转换工具,但是使用Jackson转换日期格式的数据时,会导致json格式的数据的日期和原本的日期不一致,我们需要在配置文件中修改默认配置,来解决这个问题。
我们先把问题列出来,因为只是涉及json数据格式的转换,所以我就不详细讲解SpringBoot的框架搭建了。
首先,在我的程序中,提供了这么一个接口:
1 | /user/{id} |
使用restful风格的API来访问数据,这个接口的作用是,根据id来查询用户信息。
我们首先来看一下数据库中的信息。
我们可以看到,在数据库中,有一个id为2,用户名为零的用户,它的生日日期是1997-10-02。
那么我们再来看看使用浏览器访问这个数据,在浏览器中得到的又是什么?
我们可以看到,浏览器显示出来的数据,生日日期是1997-10-01。
这就是jackson转换日期格式的json数据,导致的日期丢失的错误。
那么我们应该怎么解决这个问题呢?很简单,直接在application.yml配置文件中配置如下属性即可:
1 | spring: |
配置完成后,我们再次访问该数据:
如此,我们就发现,在浏览器中访问的日期格式的数据已经正常了。