浏览器显示的信息:
400:数据类型转换错误:
控制台打印的日志:
Resolved [org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors
Field error in object ‘user’ on field ‘birthday’: rejected value [2020-10-01]; codes [typeMismatch.user.birthday,typeMismatch.birthday,typeMismatch.java.util.Date,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [user.birthday,birthday]; arguments []; default message [birthday]]; default message [Failed to convert property value of type ‘java.lang.String’ to required type ‘java.util.Date’ for property ‘birthday’; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.util.Date] for value ‘2020-10-01’; nested exception is java.lang.IllegalArgumentException]]
错误解析:
- 你的user对象中的birthday的字段是2020-10-01
无法从String类型转换成 java.util.Date的类型 - 由于springmvc默认的日期格式为 yyyy/MM/dd,因此无法解析yyyy-MM-dd格式
解决方式
- 方式一: 在实体类中的日期字段中加上注解
@DateTimeFormat(pattern = "yyyy-MM-dd")
- 方式二:遵从springmvc日期格式,前端的日期格式选择
yyyy/MM/dd
格式