Bootstrap

ApiFox或postman怎么用params类型传输json或集合+json的String类型

你是否碰见过这样的接口?

post请求然后传输的参数都要和查询时一样以param形式传参数,那String什么的都好说,传就直接进后台了,那json呢,集合呢,是不是直接给你返400呢.

1.传json如何处理

那我们看看怎么实现,如果你要传json数据,那需要将特殊字符转义,也叫url转码,否则传不到后台接口就报400,比如,

{"userId":1,"userName":"we"}

那这里的{}就是特殊字符,将{改成%7B , 将}改成%7D,也就是如下的效果,

%7B"userId":1,"userName":"we"%7D

这样你在执行下,直接就可以了.

2.集合+json如何处理

那现在你需要传集合,集合里是json怎么办呢?网上都是说的json的解决办法, 搜url转义也没有数组符号的,那我就把如下格式的怎么传参数写出来

[{"userId":2,"userName":"xx"},{"userId":3,"userName":"xx"}]

我们看上面通俗易懂的集合+json格式的数据,那这种的就需要把[] 和{} 这种特殊的字符都要转义,上面的{}我们都说了,那[]转义是多少呢?

[ 是%5B,  ] 是%5D

%5B%7B"userId":2,"userName":"xx"%7D,%7B%"userId":3,"userName":"xx"%7D%5D

// 就等于如下格式,此不要复制哈
[{},{}]

复制执行,ok,可以访问接口了

 其实我很少碰见这样的情况,因为post提交请求一般都是body或者form-data,还是第一次遇到这种post请求传param的,那希望我的经历可以帮助你,

然后我也是自己摸索出来的,我把我搜索的url转义大全放到如下的链接,大家有需要看下

URL 常见转义字符参考-腾讯云开发者社区-腾讯云

;