问题描述:
在前端进行表单提交的时候,出现了下面的报错信息:
Caused by: com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.util.Date` from String "2021-09-30T16:00:00.000Z": expected format "yyyy-MM-dd HH:mm:ss"
根据错误信息,是日期部分的转换出现问题,前端是用了Element-ui的组件
出现原因:
出现的原因就是,后端接收前端表单传过来的值的时候,对应实体类中某个是日期类型的字段的时候,转换有问题,这时候就要进行一些声明。
解决方法:
我这里的fsdate字段是日期类型的,所以在该字段添加@DateTimeFormat
和@JsonFormat
这两个注解。
@DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss",timezone = "GMT+8")
private Date fsdate;
注解@JsonFormat主要是后台到前台的时间格式的转换
注解@DataFormat主要是前后到后台的时间格式的转换
对于这两个注解的pattern
是需要转换的时间日期的格式,就要根据个人的具体需求来修改了。这里就不加以赘述了。
timezone
是时间设置为东八区,避免时间在转换中有误差。