每一秒钟的时间都值得铭记

0%

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

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
2
3
4
5
spring:
jackson:
default-property-inclusion: ALWAYS
time-zone: GMT+8
date-format: yyyy-MM-dd

配置完成后,我们再次访问该数据:

在这里插入图片描述

如此,我们就发现,在浏览器中访问的日期格式的数据已经正常了。

坚持原创技术分享,您的支持将鼓励我继续创作!
-------------这是我的底线^_^-------------