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