最近在项目中需要使用Jackson把前台转来的字符转为对象,转换过程中发生了错误,报错如下
com.fasterxml.jackson.databind.exc.InvalidFormatException: Can not construct instance of java.util.Date from String
value '2018-09-14 15:12:08': not a valid representation (error: Failed to parse Date value '2018-09-14 15:12:08':
Can not parse date "2018-09-14 15:12:08": not compatible with any of standard forms ("yyyy-MM-dd'T'HH:mm:ss.SSSZ",
"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", "EEE, dd MMM yyyy HH:mm:ss zzz", "yyyy-MM-dd"))
原因是需要转换成的目标对象有Date类型的属性,前台传来的是yyyy-MM-dd HH:mm:ss类型
而Jackson只支持以下四种
- yyyy-MM-dd'T'HH:mm:ss.SSSZ
- yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
- EEE, dd MMM yyyy HH:mm:ss zzz
- yyyy-MM-dd
在网上查了许多方法都比较麻烦,我太懒... 发现用两个注解就可以轻松解决
@DateTimeFormat(pattern = &