在實際生產(chǎn)環(huán)境中粗恢,我們常遇到一個問題洲守,就是一個接口常常需要另一個接口的返回值作為請求參數(shù)。
比如暗甥,我們需要先通過一個接口A獲取token,然后拿到這個token后作為第二個接口B的請求參數(shù)發(fā)送捉捅。
本文就來解決這個問題淋袖。
為了方便演示,我們先準備2個接口:A接口獲取token锯梁,B接口使用token。
1焰情、獲取token的接口A
接口URL:https://echo.apipost.cn/token.php
content-type: application/json,
請求Body參數(shù):
{
????"moible":1388888666,
????"password":"123456"
}
返回示例:
{
????"errcode":0,
????"errstr":"success",
????"token":"63fabf20700e17ac34d7f90d6d03caae"
}
2陌凳、使用token的接口B
接口URL:https://echo.apipost.cn/echo.php
content-type:x-www-form-urlencoded,
請求body參數(shù):
{
????"token":? // 需要從獲取token接口拿到token作為請求參數(shù)
}
返回示例:
{
? ? "errcode": 0,
? ? "errstr": "success",
? ? "post": [? // 提交的請求body參數(shù)
? ? ],
? ? "header": {
? ? ? ? "Host": "echo.apipost.cn",
? ? ? ? "Connection": "keep-alive",
? ? ? ? "Upgrade-Insecure-Requests": "1",
? ? ? ? "User-Agent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/78.0.3904.108 Safari\/537.36",
? ? ? ? "Accept": "text\/html,application\/xhtml+xml,application\/xml;q=0.9,image\/webp,image\/apng,*\/*;q=0.8,application\/signed-exchange;v=b3",
? ? ? ? "Accept-Encoding": "gzip, deflate",
? ? ? ? "Accept-Language": "zh-CN,zh;q=0.9",
? ? ? ? "Cookie": "UM_distinctid=1709ee7b93f4-069ba9e2aa711c-2393f61-13c680-1709ee7b940389; PHPSESSID=oumoolom1338i8aafc6p3a1mhn; BAIDU_SSP_lcr=https:\/\/blog.csdn.net\/weixin_45316122\/article\/details\/95252977; Hm_lvt_a046ce178828e393614822a297b8d296=1588239504,1588239641,1588239650,1588252498; Hm_lpvt_a046ce178828e393614822a297b8d296=1588253907"
? ? }
3内舟、開始實現(xiàn)
準備
打開apipost合敦,新建一個接口,URL直接填寫 接口B的url:http://echo.apipost.cn/echo.php
另外验游,我們定義一個變量{{token_var}}放到請求body參數(shù)充岛,如圖
由于該變量{{token_var}}并未被賦值,所以發(fā)送后耕蝉,服務(wù)器端原樣輸出了{{token_var}}崔梗,這不是我們想要的結(jié)果。
我們接下來通過2種方法對變量進行賦值垒在。
實現(xiàn)方法一:
新建一個接口蒜魄,請求參數(shù)和URL填寫接口A的信息,如下圖:
然后點擊[后執(zhí)行腳本],輸入以下腳本:
apt.variables.set("token_var", response.json.token);
這個腳本的意思是谈为,把響應(yīng)json的token賦給變量token_var
發(fā)送后旅挤,我們再去執(zhí)行B接口,看到服務(wù)端已成功接收token伞鲫,如下圖:
實現(xiàn)方法二:
我們進接口B的“預(yù)執(zhí)行腳本”選項粘茄,選擇[發(fā)送一個請求],然后改動請求示例為如下腳本:
apt.sendRequest({
? ? "method":"post",
? ? "url":"https://echo.apipost.cn/token.php",
? ? "content-type":"application/json",
? ? "data":JSON.stringify({
? ? ? ? ? ? "mobile": 1388888666,
? ? ? ? ? ? "password": "123456"
? ? ? ? ? ? })
}, function (response) {
apt.variables.set("token_var", response.token);
});
這段腳本的意思是秕脓,向https://echo.apipost.cn/token.php?發(fā)送一個?content-type為application/json的post請求柒瓣,并且把返回結(jié)果的?token?賦給變量:token_var
如下圖所示:
此時我們再點擊發(fā)送,看到服務(wù)端已成功接收token撒会,如下圖: