日期传递问题
问题
前端发来的日期格式和后端不匹配
- 后端成员变量的时间属性是Date类型
默认的格式长这样Jan 01 00:00:00 CST 2021
- 前端发来的日记是字符串类型
格式是yyyy-MM-dd
解决办法
解析并转换前端和日期格式
- 将前端发来的字符串类型的日期进行解析
- 转换成Date类型再进行赋值
使用注解
@DateTimeFormat
-
功能
解析前端发来的日期格式
-
用法
@DateTimeFormat(pattern = “解析的日期格式”)
-
注意点
该注解只具有解析的作用并不具有格式转换的功能
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat
-
功能
约束响应格式
-
用法
@JsonFormat(pattern = (“响应的日期格式类型”)
@JsonFormat(pattern = "yyyy-MM-dd")
实例
小结
- 对于前后端日期时间一致问题可以使用@JsonFormat和@DateTimeFormat进行解决
- @DateTimeFormat用来解析前端发来的日期格式
- @JsonFormat用来约束后端响应的格式
- @DateTimeFormat只能解析指定日期各格式并不具备日期格式转换功能
参考文章
@JsonFormat 和 @DateTimeFormat 时间格式化注解详解(不看血亏)_jsonformat注解_zhuzicc的博客-CSDN博客