openapi新增人员踩坑系列三:"数据状态不允许引入"原创
金蝶云社区-JeremyG
JeremyG
33人赞赏了该文章 1,056次浏览 未经作者许可,禁止转载编辑于2020年12月08日 16:44:43

近日做openapi(开放平台)的新增人员的案例,发现按照自己想的格式去写参数,问题还是挺多的,特此记录下每一步遇到的问题及解决方案。


本次问题:"数据状态不允许引入"


案例如图:

image.png


解决过程:

还是打断点跟源码!(不知道怎么找源码的,可以参考帖子:苍穹如何根据url定位到映射的类,如何根据url追溯源码?)看报错是数据状态的问题,刚开始为了快速解决问题就直接把数据状态这个参数删除了,发现删除就不报这个错了,但是本着追求剖析问题本质的初心【emoji】,继续打断点看哪里报出来的提示。

接着上次的源码断点继续往后面跟

#%¥@……**()¥*)()¥:}{}:?》:}{}@&*()&……¥*)》?“”》:P>L{+_

中途还是历经千辛万苦,最终你能找到,抛出这个问题的是在这里。这里if里的条件满足了,才抛出这个异常。

image.png


进入这个if条件,你能看得到是这个表达式来返回一个布尔值。这个表达式啥意思可能大家看不太懂,我本来也看不懂,于是我开了下挂,得知他是字段是否引入的判断。于是我们就想起来了,引入引出对于每个字段都可以控制是否需要引入引出,应该是这个状态字段(status)不需要传。(细心的你可能就发现了,为什么openapi会牵扯到引入引出???因为目前系统对于外部进来的数据,保存的都是走的一套逻辑,openapi的save底层调用了引入的save逻辑)

image.png


最终我们在界面上验证,确实status字段的允许引入是关闭的,所以终的处理是删除该字段

image.png


这里把status删除,本次题目这个问题就解决了,但是,下图不是最终的可以执行的参数格式,踩坑还在继续中,不要抄下下图的入参!!!

image.png


最终可以执行的参数格式是什么样子的呢,请看后期!

赞 33