提取变量
在一些具有明显上下游关系的接口中,有时需要将 A 接口的返回数据作为 B 接口的请求参数。
比如在创建宠物信息场景下,需要将 A 接口返回的 pet_id
中的数据作为后续接口的请求参数,然后在 B 接口中的「后置操作」中添加「提取变量」功能,基于 A 接口返回的结果自动提取数据并设置为变量(临时变量/环境变量/全局变量),方便其它接口运行的时候直接使用。
指定变量类型
打开 Apifox 中的某条接口,在“后置操作”页中添加“提取变量”,变量类型选择为“环境变量”。
接口间相互传递数据
例如当前 B 接口的请求参数依赖于 A 接口返回的数据,现希望 B 接口在发送请求的同时能自动获取 A 接口返回的数据并作为请求参数。实现思路如下:
- A 接口在后置操作中添加提取变量功能,将返回的数据自动提取至变量中。
- B 接口对应的参数值直接引用已提取的变量。
A 接口
打开 A 接口用例的”后置操作“页,在后置操作中添加提取变量功能。将接口返回 Response JSON 数据里的 token 值提取到名为 petId
的变量中。
B 接口
在 B 接口中的请求参数中直接填写 {{petId}}
,即可在请求中引用上一步骤中所创建的数值。
若不确定是否正确引用了 A 接口所生成的数据,可以在 B 接口的前置操作中添加以下自定义脚本:
var petId = pm.environment.get("petId");
console.log(petId)
这样就可以在控制台中查看已引用的变量值。