写点什么

接口调试时如何实现接口之间的数据传递?

作者:不想敲代码
  • 2023-02-16
    北京
  • 本文字数:813 字

    阅读完需:约 3 分钟

使用场景

B 接口请求参数依赖于 A 接口返回的数据,希望 B 接口发送请求的时候能获取 A 接口返回的数据作为请求参数。

实现思路

将 A 接口返回的数据通过后执行脚本赋值给一个全局变量或者环境变量。

具体示例

为了方便理解和简单快速实现,我们用 Apipost 来实现。

举例:新闻列表需要登录接口返回的参数 token 作为自己的请求参数。常见的场景如:访问一个需要登陆才能浏览的接口。

1、准备接口

为了便于演示,首先,我们准备 2 个接口:

get_token 接口:请求地址:{{url}}/demo/login

它将返回一个 token 参数。如图:

新闻列表接口:请求地址:{{url}}/demo/news_list?mobile=18289454846&theme_news=国际新闻 &page=1&pageSize=20

它需要登录接口返回的 token 参数作为自己的请求参数。

如上图所示,我们定义了一个环境变量 token,由于此时尚未将其与登录接口返回的 token 绑定,所以此时它原样输出了。

2、绑定响应结果到变量

此时点击登录接口的【后执行脚本】,通过一个变量赋值,就可以将登录的响应结果 token 到环境变量 token。

此时,点击【发送】按钮,就可以把登录接口返回的 token 绑定到环境变量 token 了。

我们进入新闻列表的接口,并点击发送,就会看到 token 已经是我们刚才获取到的 token 了。

注意:我们绑定完成后,我们需要先再次发送请求下登录接口(执行绑定数据),再请求新闻列表接口。

附:响应数据变量

response.raw:原始响应数据

调用示例:
response.raw.status //响应状态码(200、301、404等)response.raw.responseTime //响应时间(毫秒)response.raw.type //响应类型(json等)response.raw.responseText //响应文本
复制代码

response.json:json 格式的响应数据

调用示例如上面示例:

response.json.data.token //也可以 response.json.data["token"]
复制代码

response.headers:响应头

调用示例:

response.headers.server //也可以 response.headers["server"]
复制代码

response.cookies :响应 cookie

调用示例:

response.cookies.PHPSESSION //也可以 response.cookies["PHPSESSION"]
复制代码


用户头像

还未添加个人签名 2022-12-15 加入

还未添加个人简介

评论

发布
暂无评论
接口调试时如何实现接口之间的数据传递?_不想敲代码_InfoQ写作社区