Vue 前端向Java后台传递时间格式数据,进行数据查询,出现这个错误信息
org.springframework.validation.BeanPropertyBindingResult: 1 errors↵Field error in object 'equipmentsDispatchInfoVO' on field 'createTime': rejected value []; codes [typeMismatch.equipmentsDispatchInfoVO.createTime,typeMismatch.createTime,typeMismatch.java.util.Date,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [equipmentsDispatchInfoVO.createTime,createTime]; arguments []; default message [createTime]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'createTime'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.util.Date] for value ''; nested exception is java.lang.IllegalArgumentException]"
查询了很多方法,最终使用前后台都进行格式化统一格式后解决。
代码示例:
前端传参:
<el-date-picker v-model="listQuery.beginTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="开始时间" />
后台接参:
/** * 开始时间 */ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date beginTime;
还有前台传值后台接参相差一天的问题也是由于默认格式不一致,统一格式化就可以。