遇到一个问题如果你通过@RequestBody注解穿进来一个实体类的情况下,当实体类的中存在Data类型时,会出现类型转换的问题,首先把新增的前段提交代码展示一下。
async dataFormSubmit(num) { let valid = await this.$refs.dataForm.validate().catch(() => { return util.$message.showInfo2('校验错误') }) if (!valid) return let data = { taskType:num, id: this.dataForm.id, taskId: this.dataForm.taskId, endDate: this.dataForm.endDate, ... }; this.$axios.post('/pc/modeldefecrectificationnotice/save', data).then(res => { this.dialogFormVisible = false; this.$emit('refreshDataList') }).catch((error) => {}) },这就是前段其中,endDate的字段是从
<el-date-picker v-model="dataForm.endDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" format="yyyy-MM-dd" required style="width: 100%;"> </el-date-picker>来拿到的,当出现了前段将对象的属性封装好的时候就会因为这个java中定义的Date类型的属性导致封装出现了问题。
首先,我现在el-date-picker中添加了value-format="yyyy-MM-dd" format="yyyy-MM-dd"中完成format这样的话,我们拿到的一定是yyyy-MM-dd的格式。其次,在实体类的时间的属性上面添加注释 @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "限期修复时间") private Date endDate;就可以完成下面的操作了。