赞
踩
今天做项目的时候,vue前端提交数据到后端处理,其中包含日期格式的数据,前端传的日期格式为"yyyy-MM-dd",转换成json到后端时,后端报错,报错信息如下:
2019-09-12 21:11:36.322 WARN 9868 --- [io-10001-exec-8] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `java.util.Date` from String "2019-09-12": not a valid representation (error: Failed to parse Date value '2019-09-12': Unparseable date: "2019-09-12"); nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.util.Date` from String "2019-09-12": not a valid representation (error: Failed to parse Date value '2019-09-12': Unparseable date: "2019-09-12")
at [Source: (PushbackInputStream); line: 1, column: 9] (through reference chain: org.keyangsoft.modules.business.cq.entity.CqSjjl["jlrq"])]
这段报错提示信息中,主要内容是:
JSON parse error: Cannot deserialize value of type `java.util.Date` from String "2019-09-12": not a valid representation (error: Failed to parse Date value '2019-09-12': Unparseable date: "2019-09-12"); nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.util.Date` from String "2019-09-12": not a valid representation (error: Failed to parse Date value '2019-09-12': Unparseable date: "2019-09-12")
分析:Json解析错误,不能从字符串“2019-09-12”反序列化‘java.util.Date’类型的值。 也就是,Json的字符串类型的日期值,转化为实体类中Date类型的值的过程中出错了。
解决方法:在实体类的字段上加上 @JsonFormat注解即可。
其中,pattern:日期格式,与前端传递过来的日期值的格式保持一致。
/**
* 记录日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date jlrq;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。