![summary-icon](https://cdn-vip.kingdee.com/statics/webfront/summary_icon.png)
处理openapi新增人员案例时,遇到“数据校验发现错误,类型不能为空”问题。通过跟踪源码和查看设计器,发现需填写的类型为usertype,为多选下拉列表且动态生成。通过查看数据库确定其值为1,对应职员。添加usertype=1后成功保存,但部分信息未录入,详细处理及心得将后续分享。
近日做openapi(开放平台)的新增人员的案例,发现按照自己想的格式去写参数,问题还是挺多的,特此记录下每一步遇到的问题及解决方案。
本次问题:"数据校验发现错误!","类型不能为空,请输入。"
案例如图:
解决过程:
刚开始还是打断点跟源码!(不知道怎么找源码的,可以参考帖子:苍穹如何根据url定位到映射的类,如何根据url追溯源码?)
然后发现只能跟到报错的地方,不知道具体的校验是从哪里抛出来的。不过提示的信息很明确了,说了是“类型不能为空”,所以我们可以打开设计器,看下类型字段是什么,然后加上这个属性就可以了。找到人员,看到类型是usertype。
看到这个必录的usertype,我们就知道了需要传输的key,但是value是什么呢?我们发现这个usertype是个多选下拉列表,但是这个多选下拉列表没有配置下拉项,说明他这个下拉项是动态生成的。(想知道怎么动态生成下拉项可以看下人员的插件,里面找下usertype,就可以抄作业哦!)我们还不知道下拉项的值是什么,不过不没关系,我们可以偷个懒,看下数据库里对应字段存的值是什么。我们看到自己加的数据再数据库里字段fusertype为1,界面上预览是职员,那我们新建用户也给这个就好了。
这里加上了usertype属性,值赋为1之后,其实就可以保存成功了,但是其实这里还是有些信息没有录入的,具体的最终展示及其他相关心得,请看后期!
推荐阅读