遇到一个问题如果你通过@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;
就可以完成下面的操作了。