今天写了一个有保存数据功能的页面,但是当点击保存按钮时,直接报400错误,而且还不进后台的断点。经过不断地尝试和查阅资料,发现是前端页面编辑的数据类型和后端实体类定义的数据类型不一致导致的。
如下图所示,流程状态刚开始我在前端直接保存的’待提交’,而数据库定义的字段类型是number,所以后台无法识别前台传过来的字段值’待提交’,然后就会报400的错误
下图是后端定义的字段类型
我的解决方法是使用下拉框select的value来定义不同的流程状态,然后在后台将前台传过来的value值转换为正确的数据类型后进行保存操作就不在报400的错误了。
select定义value代码如下图所示:(注意:我使用的是封装组件select)
<Select disabled={true}
{
getFieldProps('bpmState', {
initialValue: ''
},)
}>
<Option value="">待提交</Option>
<Option value={'0'}>待提交</Option>
<Option value={'1'}>审批中</Option>
<Option value={'2'}>已审批</Option>
<Option value={'3'}>终止</Option>
</Select>