phoben 发表于 2023-12-10 19:27:20

服务端命令无法接收并处理JSON数组

活字格的服务端命令,在作为对外API使用时,非要定义参数名称,不能直接接受一个JSON数组。



如果不定义参数,直接发送JSON,数组会导致JSON解析失败。




初步猜测:活字格在处理请求时,默认只接受application/json类型,而且将Body当成JSON对象进行序列化。
一旦Body不是对象是数组,就无法解析。

另外,当content-type为其他类型的时候,也无法接受其Body数据。

David.Zhong 发表于 2023-12-11 09:16:05

可以举一个具体的用例吗?为啥要直接塞一个不定义的数组参数?

phoben 发表于 2023-12-11 19:40:22

David.Zhong 发表于 2023-12-11 09:16
可以举一个具体的用例吗?为啥要直接塞一个不定义的数组参数?

是因为第三方系统就会发送一个数组
我也想知道HTTP接口为什么不能接受数组参数值呢?:lol

David.Zhong 发表于 2023-12-12 10:37:58

硬说的话,就是策略。如果有真实的无法解决的场景的话,可以详细说下,看下能否加功能解决。

phoben 发表于 2023-12-13 19:36:26

David.Zhong 发表于 2023-12-12 10:37
硬说的话,就是策略。如果有真实的无法解决的场景的话,可以详细说下,看下能否加功能解决。

目前项目里对方系统传过来就是数组,我们无法接收

David.Zhong 发表于 2023-12-14 11:11:05

恕我还是没理解超哥的场景或者说具体是什么问题。
是服务端命令参数定义的时候,没有定义数组变量属性时,接收数组参数会出错。(这个我验证了,也不存在问题。)
还是定义了数组类型参数,在第三方中调用时非要传一个未json序列化的数组?是这个问题吗?如果是的话,可以在产品需求版块发帖,这个需要加功能支持。
另外,可以考虑下是否可以在第三方中调用活字格接口时json序列化,不行的话,又是为什么不行,具体情况也建议在产品需求板块发帖时说一下,不然回头产品经理肯定也是会问你这些问题。:lol
页: [1]
查看完整版本: 服务端命令无法接收并处理JSON数组