簡(jiǎn)介
postman
是谷歌推出的一款模擬API網(wǎng)絡(luò)請(qǐng)求的工具,不僅方便接口的調(diào)試,而且加快前后端開(kāi)發(fā)人員溝通交流.
優(yōu)點(diǎn)
- 可以配置多個(gè)API請(qǐng)求環(huán)境,快速切換到不同環(huán)境進(jìn)行數(shù)據(jù)請(qǐng)求
- 可以設(shè)置全局宏定義
- 可以設(shè)置環(huán)境變量宏定義
- 可以通過(guò)腳本對(duì)請(qǐng)求前后的數(shù)據(jù)進(jìn)行校驗(yàn)
- 可以對(duì)請(qǐng)求進(jìn)行歸類集合,形成API文檔(付費(fèi)用戶可以進(jìn)行云端數(shù)據(jù)同步)
- 可以對(duì)每個(gè)參數(shù)添加描述,注釋支持
markdown
語(yǔ)法描述
安裝
點(diǎn)擊官網(wǎng)鏈接,可以下載相應(yīng)的安裝包進(jìn)行安裝,支持[
MacOS,WIndows,Linux
]等主流PC
操作系統(tǒng),安裝方式不做過(guò)多描述.
主界面功能介紹
主界面按照功能大致可以劃分為五個(gè)模塊:
1. 側(cè)邊欄
側(cè)邊欄主要有三個(gè)功能:
- filter:主要是對(duì)History和Collections的檢索功能
- History:每次進(jìn)行請(qǐng)求的歷史記錄
- Collections:對(duì)請(qǐng)求進(jìn)行歸類集合,可以構(gòu)建多級(jí)目錄
如圖所示:
Collections
可以對(duì)請(qǐng)求進(jìn)行歸類并保存,可以作為API文檔進(jìn)行查看,方便前后端開(kāi)發(fā)人員進(jìn)行溝通.
2. API請(qǐng)求環(huán)境配置
- 請(qǐng)求的標(biāo)簽欄,一個(gè)標(biāo)簽代表一個(gè)請(qǐng)求
-
本次請(qǐng)求的環(huán)境選擇,點(diǎn)擊右邊箭頭可以進(jìn)行不同環(huán)境的選擇
- 點(diǎn)擊可以查看當(dāng)前請(qǐng)求環(huán)境和全局環(huán)境的宏定義.
點(diǎn)擊Edit可以對(duì)環(huán)境變量的宏定義進(jìn)行增加和修改
- 點(diǎn)擊
Manage Environment
可以配置環(huán)境變量
3. API請(qǐng)求構(gòu)建及參數(shù)說(shuō)明
-
接口描述:在此注明此接口的使用方法,參數(shù)說(shuō)明,已經(jīng)注意事項(xiàng)等信息,支持
markdown
語(yǔ)法 - 接口返回結(jié)果:如果有Examples()*括號(hào)中有值,代表此接口有返回結(jié)果的 示例(結(jié)果保存方式在下面介紹)
- 接口的請(qǐng)求方式:可以根據(jù)需要選擇對(duì)應(yīng)的請(qǐng)求方式,支持類型還是很多的
-
接口的
URL
及Params
:一般每個(gè)環(huán)境的URL
是不變的,可以在環(huán)境變量中設(shè)置成宏定義,調(diào)用方式為{{api_url
}}(兩個(gè)大括號(hào)就能調(diào)出 并帶有檢索提示功能);比如設(shè)置的api_url在不同環(huán)境可以設(shè)置為不同的值,但是對(duì)應(yīng)的key(api_url)是一樣的.
請(qǐng)求環(huán)境 | key | value |
---|---|---|
本地測(cè)試環(huán)境 | api_url | 192.168.199.123:80 |
外網(wǎng)測(cè)試環(huán)境 | api_url | www.ishuidi.com.cn/development |
外網(wǎng)發(fā)布環(huán)境 | api_url | www.ishuidi.com.cn/distribution |
-
參數(shù)的按鈕:選擇顯示或者隱藏
請(qǐng)求體
中攜帶的參數(shù) - 發(fā)送請(qǐng)求:對(duì)本次構(gòu)建的請(qǐng)求進(jìn)行模擬,右邊按鈕可以選擇發(fā)送請(qǐng)求并下載請(qǐng)求的結(jié)果
-
保存本次請(qǐng)求:對(duì)本次構(gòu)建的請(qǐng)求進(jìn)行歸類整理,保存到側(cè)邊欄的
Collections
,付費(fèi)用戶可以對(duì)數(shù)據(jù)進(jìn)行云端同步 -
參數(shù)的設(shè)置
URL
后面拼接的參數(shù),例如截圖中的access_token
(本示例為post請(qǐng)求,參數(shù)應(yīng)放在body
中,在此只是為了說(shuō)明需要),比如get
請(qǐng)求體中如果帶有參數(shù),點(diǎn)擊params
會(huì)自動(dòng)識(shí)別并顯示參數(shù)的key和value;參數(shù)前面的選中按鈕,可以控制本次請(qǐng)求是否帶有此參數(shù);在顯示的參數(shù)后面有discripttion
可以填寫(xiě)對(duì)此參數(shù)的描述;
4. API請(qǐng)求的二次構(gòu)建和腳本處理
這部分主要是對(duì)請(qǐng)求的二次構(gòu)建,主要有一下幾個(gè)功能:
-
Authorization:設(shè)置鑒權(quán)參數(shù),可以用OAuth之類的
-
Headers:自定義HTTP Header,定義后臺(tái)返回的數(shù)據(jù)格式,
比如json/xml
-
Body:post請(qǐng)求方式的參數(shù),有四種形式可以選擇,form-data主要用于上傳文件蹋岩。x-www-form-urlencoded是表單常用的格式。raw可以用來(lái)上傳JSON數(shù)據(jù)
Pre-request Script:在發(fā)起請(qǐng)求之前執(zhí)行的腳本丁稀,比如參數(shù)中需要攜帶的時(shí)間戳,隨機(jī)數(shù)等
Tests:在收到response之后執(zhí)行的測(cè)試,比如對(duì)response的請(qǐng)求狀態(tài)驗(yàn)證,對(duì)數(shù)據(jù)格式的校驗(yàn)等
//驗(yàn)證請(qǐng)求的狀態(tài)碼
tests["code is correct"] = responseCode.code === 200;
//json數(shù)據(jù)解析
var data = JSON.parse(responseBody);
//獲取返回?cái)?shù)據(jù)中的token并設(shè)置為環(huán)境變量
postman.setEnvironmentVariable("access_token", data.data.access.token);
//獲取返回?cái)?shù)據(jù)中的user_id并設(shè)置為環(huán)境變量
postman.setEnvironmentVariable("user_id", data.data.user.user_id);
5. API請(qǐng)求結(jié)果查看
這部分主要是對(duì)請(qǐng)求結(jié)果的查看,主要有一下幾個(gè)功能(對(duì)應(yīng)第四部分的相應(yīng)功能):
-
body:返回?cái)?shù)據(jù)的格式,Pretty可以看到格式化后的數(shù)據(jù)(有
json/xml
等多個(gè)選擇)晕窑,Raw就是未經(jīng)處理的數(shù)據(jù)室叉,Preview可以預(yù)覽HTML頁(yè)面
Cookies:返回的結(jié)果中是否有Cookies
-
Headers:后端返回?cái)?shù)據(jù)的格式
-
Tests:第四部分中的
Tests
腳本執(zhí)行結(jié)果
關(guān)于利用
postman
進(jìn)行測(cè)試,或者數(shù)據(jù)校驗(yàn)后期補(bǔ)充,主要用到的是javascript
語(yǔ)法