问题:最近一个项目使用Springboot,在与前端进行联调的时候,发现返回的时间总是减少了一天(实际是8H),各种DeBug、看数据库,最后发现是Springboot的配置问题;
原因:Springboot中对于@RestController或者@Controller+@ResponseBody注解的接口,方法的返回值默认是Json格式,所以当对于date类型的数据,在返回给前端时,是会被Springboot默认的Jackson框架转换的,而Jackson框架默认的时区GMT(相对于中国是少了8小时)。
解决方法:在application.yml中加上
spring:
jackson:
time-zone: GMT+8 #在默认时区加上8小时