[TOC] #### 1. 前言 ---- 本文章只列舉 apipost 部分最常用的功能,更多文檔內(nèi)容請去官網(wǎng)查看文檔 apipost 官網(wǎng): [https://www.apipost.cn](https://www.apipost.cn), 文檔入口如下圖所示: ![](https://img.itqaq.com/art/content/8138a86d587c98abba00b9bcb210e8e5.png) #### 2. 變量的作用和類型 --- 變量的作用: 對于一些常見的參數(shù),我們可以將其定義成變量,以便達(dá)到一處改動,全部改動的目的 變量的四大類型: 環(huán)境變量、全局變量、mock 變量、系統(tǒng)變量 #### 3. 預(yù)定義環(huán)境變量 --- 通過環(huán)境變量管理器設(shè)置預(yù)定義變量 環(huán)境變量: 根據(jù)選擇的環(huán)境不同,變量的值隨環(huán)境的切換變化 應(yīng)用場景: 接口前綴使用環(huán)境變量定義,方便切換正式環(huán)境和開發(fā)環(huán)境時的接口地址 后端開發(fā)者在調(diào)試、編寫接口文檔時,接口地址前綴一般情況下都是相同的 比如: ``` http://tp6.cy/api/login/index // 登錄接口 http://tp6.cy/api/user/getMine // 獲取用戶信息 http://tp6.cy/api/article/getLists // 獲取文章列表 ``` 定義環(huán)境變量 api : `http://tp6.cy/api/` ![](https://img.itqaq.com/art/content/e8f6801cfb90122a5e3823b0866f3016.png) 然后就可以將接口地址中 `http://tp6.cy/api/` 使用 api 變量替代,使用變量需要使用 `{{}}` 包裹 ![](https://img.itqaq.com/art/content/650ab7148149836fdd0d171b33366e99.png) #### 4. 內(nèi)置Mock變量 --- 在 apipost 客戶端的下方可以通過點擊來查看內(nèi)置的 mock 變量 ![](https://img.itqaq.com/art/content/d293a0122e04f051052746abe80db908.png) apipost 支持請求參數(shù)直接引用 mock.js 變量,如下圖所示: 請求地址攜帶一個參數(shù),要求是 1-100 的自然數(shù) ![](https://img.itqaq.com/art/content/1762db63b034f9a2b1b1ab4102bdaee5.png) #### 5. 內(nèi)置系統(tǒng)變量 --- apipost 內(nèi)置了一些系統(tǒng)變量: request 對象: 一個請求的所有請求參數(shù)組成的對象。一般用于前執(zhí)行腳本 response 對象: 一個請求的所有響應(yīng)參數(shù)組成的對象。只能用于后執(zhí)行腳本,因為發(fā)生了請求后才有響應(yīng) navigator: navigator 對象包含有關(guān)瀏覽器的信息,同正常瀏覽器的 navigator 對象屬性相同 **測試預(yù)執(zhí)行腳本、后執(zhí)行腳本觸發(fā)時機(jī)** ![](https://img.itqaq.com/art/content/508f1554bf725c0607305a779141c19d.png) ![](https://img.itqaq.com/art/content/0807f6dc57e3e087a2bb59078a002c11.png) 通過控制臺查看數(shù)據(jù)輸出 ![](https://img.itqaq.com/art/content/d5cc1bf966384a275e69e6fba381a4c3.png) #### 6. 預(yù)執(zhí)行腳本、后執(zhí)行腳本 --- ##### 預(yù)執(zhí)行腳本應(yīng)用場景: 設(shè)置變量、查看請求信息 查看系統(tǒng)變量 request 對象數(shù)據(jù),其中包含請求地址、請求類型、超時時間、請求頭、請求參數(shù)等信息 ``` console.log("---- 預(yù)執(zhí)行腳本開始 ----") console.log(request) console.log("---- 預(yù)執(zhí)行腳本結(jié)束 ----") ``` ![](https://img.itqaq.com/art/content/0895e159952f5dc27c9dc677f5cffc1e.png) ##### 后執(zhí)行腳本應(yīng)用場景: 小程序接口的模擬登錄 小程序中前端開發(fā)者使用 wx.login 調(diào)用服務(wù)器端接口后會返回一個 token 字段,請求其他接口需要在請求頭中攜帶這個字段值 而后端開發(fā)者需要使用 apipost 來調(diào)試需要 token 值的接口,如果在每個接口都手動指定 token 值會特別麻煩,此時可以利用 **后執(zhí)行腳本 + 全局參數(shù)** 來更好的處理這個問題。即: 調(diào)用模擬登錄后將 token 值,存儲到環(huán)境變量中,然后通過設(shè)置 **全局參數(shù) Header 或 目錄公用 Header **來實現(xiàn)每個接口自動攜帶 token 值 假設(shè)接口返回值是以下兩種情況: ``` {"code":201,"msg":"登錄失敗"} {"code":200,"msg":"登錄成功","data":{"user":{"id":1,"nickName":"liang"},"token":"HxApPjKIJqrfKVaQcjMw"}} ``` 后執(zhí)行腳本使用示例 ``` if (response.json.code == 200) { apt.variables.set("token", response.json.data.token); } ``` 設(shè)置全局 Header 參數(shù) ![](https://img.itqaq.com/art/content/a19bc1134e08bd729b6928d84cef5d9f.png)