Springboot 接口实体 时间序列化、反序列

Springboot 默认情况下使用Jackson 作为序列化和反序列化的工具,可以通过@JsonFormat来定义序列化和反序列化的方式。

反序列化/反序列化 Date对象

如果没有为Jackson指定反序列时间的方法,那么从前端传入的时间字符串,会因为无法解析而抛出异常JSON parse error

对于前端或者其他业务系统来说返回实体时候,对时间类型的对象jackson使用的默认反序列化格式是UTC的时间格式:yyyy-MM-ddThh:mm:ss,有时候我们需要定制返还的时间格式。

上面描述的几个场景都可以使用@JsonFormat(shape = ..., pattern = "...") 指定时间反序列化的方式,和序列化的方式
如:

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime registDateTime;

这里使用LocalDateTime代替了DateLocalDateTime自身提供很多的方法,远远比Date对象使用要方便的多,如时间比较,时间的加减运算等等…

在请求和响应时候对该字段registDateTime,的序列化和反序列都会采用yyyy-MM-dd HH:mm:ss的格式。

参考

上一篇:LocalDateTime查找最近的五分钟点


下一篇:LocalDateTime与DateTimeFormatter