接口关联
接口之间存在依赖关系,接口B要依赖于接口A的返回值。
例如:现在有两个接口,接口1:获取接口统一鉴权码token接口,接口2:创建标签接口。接口2里的请求参数需要依赖接口1返回的值,即需要获取access_token的值,替换ACCESS_TOKEN。
使用json提取器实现接口关联
javascript
console.log(responseBody);
//console.log()控制台打印,responseBody返回的值
var result = JSON.parse(responseBody);
//使用JSON提取器提取access_token值
//JSON.parse()把返回的字符串格式的数据转换成对象的形式
console.log(result.access_token);
pm.globals.set("access_token",result.access_token);
//把access_token设置为全局变量,方便接口2访问
关于console控制台 (可以查看打印的信息、接口日志等)
成功取到access_token的值
把access_token设置为全局变量后,点击右上角眼睛(Environment quick look)进行查看
11.6.2版本图标如下
引用全局变量access_token,即ACCESS_TOKEN替换为{{access_token}}
使用正则表达式提取器实现接口关联
正则表达式: (.+?):匹配任意字符,至少1个; (.*?):匹配任意字符,至少0个
正则匹配表达式将需要提取的字段key:value都放入表达式中,将字段名作为键,字段值用表达式进行匹配。
javascript
//使用正则表达式提取器实现接口关联,match匹配
var result = responseBody.match(new RegExp('"access_token":"(.*?)"'));
//通过下标取值
console.log(result[1]);
//设置为全局变量
pm.globals.set("access_token",result[1]);
使用文本方式查看结果,确定取值对象。
提取对象里含有双引号,用单引号括起来,' "access_token":"(.*?)" ' 表示字符串,match匹配的是正则表达式,而字符串并不代表是正则表达式,所以把字符串通过new RegExp()的方法来把字符串转换成一个正则表达式。
匹配到两个值,选用下标为1的值,并设置为全局变量,再同上引用全局变量access_token。
参考: