背景
今天在写接口时,发现回传的json的时间格式是时间戳,于是需要把它转成正常显示的格式,但是这个问题以前处理过,当时是用sql格式化函数处理的,当然也可以在实体类中使用注解解决这个问题。但是我想用全局设置的方式,一次性解决掉。
解决方法
第一步:引入maven依赖包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
<version>1.5.2.RELEASE</version>
</dependency>
第二步:在配置文件中声明日期格式和时区
//日期格式
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
//时区
spring.jackson.time-zone=GMT+8
第三步:验证一下
{
"startTime": "2019-07-29 17:18:08",
"endTime": "2019-05-07 15:02:49",
"discountId": "63421825ce904c4c9a10ca7aefec3aba",
"expiryAddress": "北京市海淀区五棵松北路26号院",
"status": "0000"
}
注意:该解决方案和@EnableWebMvc注解冲突,请在代码中注释掉
扩展:
在解决这个问题时,也发现了其他的解决方法,真是选择多多
- 通过@JsonComponent注解自定义日期格式,这个很强大https://www.jianshu.com/p/f4654d251104
- 创建自定义配置文件处理日期格式,使用@EnableWebMvc和@Configuration注解
https://www.jianshu.com/p/7211dfdbbb9d
参考:
https://www.jianshu.com/p/7211dfdbbb9d
https://www.jianshu.com/p/7084f081b871