導(dǎo)讀:
現(xiàn)在的web和移動(dòng)開(kāi)發(fā),常常會(huì)調(diào)用服務(wù)器提供restful接口進(jìn)行數(shù)據(jù)請(qǐng)求,為了調(diào)試,一般會(huì)先用工具進(jìn)行測(cè)試,通過(guò)測(cè)試后才開(kāi)始在開(kāi)發(fā)中使用。這里介紹一下如何在chrome瀏覽器利用postman應(yīng)用進(jìn)行restful api接口請(qǐng)求測(cè)試。
關(guān)于Postman的安裝方法,可以參考Postman軟件安裝.
一、導(dǎo)入導(dǎo)出打包的應(yīng)用
在Postman中導(dǎo)入導(dǎo)出我們的 測(cè)試數(shù)據(jù)包 和 工作環(huán)境 非常的方便:
導(dǎo)出數(shù)據(jù)包:

導(dǎo)出工作環(huán)境:


導(dǎo)入數(shù)據(jù)包:

導(dǎo)入工作環(huán)境:

二、發(fā)送請(qǐng)求和查看響應(yīng)
1.發(fā)送請(qǐng)求
Postman的界面分為 左邊的側(cè)邊欄 和 右邊的請(qǐng)求構(gòu)建器 兩部分。請(qǐng)求構(gòu)建器允許你可以快速的創(chuàng)建幾乎任何類(lèi)型的請(qǐng)求。一個(gè)HTTP請(qǐng)求的四部分:URL、Method、Headers、Body,在Postman中都可以設(shè)置。

URL:
在你構(gòu)建request請(qǐng)求的時(shí)候,首先要設(shè)置的就是URL。在URL輸入框中輸入你請(qǐng)求的鏈接,你可以單擊Params按鈕,在編輯器中輸入key-value格式的URL參數(shù)。
在URL地址欄中的輸入和編輯器中輸入的key-value參數(shù),不會(huì)自動(dòng)的編碼為 URL-encoded,選中要編碼的文本,右鍵選擇**EncodeURIComponent **,手動(dòng)編碼參數(shù)值。


你可以單獨(dú)的添加參數(shù),Postman會(huì)自動(dòng)的把他和URL整合到一起,如果你從其他的地方粘貼了URL過(guò)來(lái),Postman也會(huì)自動(dòng)的把 Params中的參數(shù)進(jìn)行設(shè)置。
一些API端點(diǎn)使用路徑變量,你可以在Postman中設(shè)置,他們位于兩個(gè) / 中,樣式如下:

如果你要設(shè)置他,單擊Params按鈕,你會(huì)發(fā)現(xiàn)key部分已被自動(dòng)設(shè)置好了,根據(jù)需要填寫(xiě)value部分就行。
Headers:
單擊Headers切換按鈕,你可以在key-value編輯器中設(shè)置任何字符串作為header的名稱(chēng)。

受限的headers和cookies
不幸的是一些headers收到Chrome和XMLHttpRequest規(guī)范的限制,以下headers被屏蔽:
Accept-Charset
Accept-Encoding
Access-Control-Request-Headers
Access-Control-Request-Method
Connection
Content-Length
Cookie
Cookie 2
Content-Transfer-Encoding
Date
Expect
Host
Keep-Alive
Origin
Referer
TE
Trailer
Transfer-Encoding
Upgrade
User-Agent
Via
從Postman v0.9.6版本開(kāi)始,我們可以使用攔截器來(lái)發(fā)送這些受限的headers:

安裝完成后點(diǎn)擊切換就可以使用這些headers發(fā)送請(qǐng)求了。
headers預(yù)設(shè)
你可以保存常用的headers在headr prest里面:

Method:
單擊HTTP的請(qǐng)求方法按鈕,在給出的下拉菜單中選擇使用的方法即可,對(duì)應(yīng)的方法需要body的,body部分便被設(shè)置為可填寫(xiě)。

body部分編輯:
當(dāng)我們發(fā)送請(qǐng)求需要填寫(xiě)body部分時(shí),Postman幾乎可以讓我們發(fā)送任何類(lèi)型的HTTP請(qǐng)求。body編輯器分為4個(gè)部分:
form-data

form-data是web表單默認(rèn)的傳輸格式,編輯器允許你通過(guò)設(shè)置key-value形式的數(shù)據(jù)來(lái)模擬填充表單。你可以在最后的選項(xiàng)中選擇添加文件。
urlencoded

這個(gè)編碼格式同樣可以通過(guò)設(shè)置key-value的方式作為URL的參數(shù)。
raw

一個(gè)raw請(qǐng)求可以包含任何內(nèi)容。在這里你可以設(shè)置我們常用的JSON 和 XML數(shù)據(jù)格式。
二進(jìn)制

在這里你可以發(fā)送視頻、音頻、文本等文件。
2.處理響應(yīng)
Postman的響應(yīng)查看器允許你方便的查看API的響應(yīng)是否正確。
一個(gè)API響應(yīng)器包括Body、Headers、status code三部分。Body 和 Headers在不同的選項(xiàng)卡中,status code在收到響應(yīng)時(shí)在標(biāo)簽行的最右邊顯示。
保存響應(yīng)內(nèi)容

如果你在收藏夾中保存了request請(qǐng)求,你可以在請(qǐng)求收到的對(duì)應(yīng)的響應(yīng)中單擊save按鈕,指定一個(gè)response的名字,來(lái)保存對(duì)應(yīng)額response。一個(gè)request對(duì)應(yīng)的所有的response都是有效的。
當(dāng)我們要查看我們保存的response的時(shí)候,只需要點(diǎn)擊我們的發(fā)送的request選擇我們要查看的response即可:

查看響應(yīng)
Postman的body標(biāo)簽中有三種查看方式:Pretty、Raw、Preview
Pretty:

Pretty方式,可以讓JSON 和 XML的響應(yīng)內(nèi)容顯示的更美觀規(guī)整。
Raw:

顯示最原始的數(shù)據(jù),可以幫助你判斷是否minified
Preview:

可以幫你把HTML頁(yè)面自動(dòng)解析顯示出來(lái)。
Headers

這里顯示了一些鍵值對(duì),表示了HTTP請(qǐng)求中header中的信息。
Cookies
Postman v0.8.x 版本可以顯示瀏覽器的cookie。
3.身份驗(yàn)證
Basic Auth

輸入用戶名和密碼,點(diǎn)擊 Update Request 生成 authorization header
Digest Auth

Digest auth 比 Digest auth 更加復(fù)雜,使用當(dāng)前request中的設(shè)置來(lái)生成authorization header,請(qǐng)確保在生成前你的設(shè)置的正確性。
OAuth 1.0

Postman的OAuth1.0工具讓你可以生成支持OAuth1.0身份認(rèn)證的請(qǐng)求,目前他不能獲取access token。
OAuth 2.0

Postman支持獲取OAuth 2.0 token,并且可以非常簡(jiǎn)單的添加到request中。
從OAuth 2.0中獲取access token,要遵循下面這些步驟:
- 在你的APP設(shè)置頁(yè)面設(shè)置 **https://www.getpostman.com/oauth2/callback
** 作為 callback URL - 獲取 authorization URL, 從你的API提供者那里訪問(wèn) token URL、 client ID 和 client secret。你可以設(shè)置一些API需要的參數(shù)范圍來(lái)設(shè)置你再API中的訪問(wèn)級(jí)別。
- 按下 Request Token 按鈕來(lái)啟動(dòng)OAuth 2.0 flow。如果一切設(shè)置正確,你將會(huì)被重定向到Postman的服務(wù)器,他將獲取你的access token 并且發(fā)送到Postman的app,這樣就給Postman添加了token,給他設(shè)置一個(gè)name,讓你在以后可以快速的訪問(wèn)

- access token將被保存在本地,顯示在幫助列表。點(diǎn)擊token名稱(chēng),就可以把它添加到request中。
4.Requests History
所有你使用Postman發(fā)送的request都將保存在左側(cè)邊欄的History中,他會(huì)幫助你通過(guò)嘗試不同的request來(lái)生成一個(gè)新的request,而不必浪費(fèi)你太多的時(shí)間。你可以通過(guò)單擊一個(gè)request的名字來(lái)加載他。

如果你創(chuàng)建了Postman的賬戶,你的歷史數(shù)據(jù)將被同步到Postman的服務(wù)器,你可以在不同的平臺(tái)上使用Postman的時(shí)候同步你的數(shù)據(jù)。
5.使用tab來(lái)控制多個(gè)請(qǐng)求
很多用戶可能需要同時(shí)打開(kāi)多個(gè)請(qǐng)求,你發(fā)送的request將被保持在當(dāng)前的標(biāo)簽中,當(dāng)你切換到其他的標(biāo)簽時(shí),不用擔(dān)心不能及時(shí)的接受response。

6.使用攔截器來(lái)讀寫(xiě)cookie
和Mac上的應(yīng)用不同,Chrome的應(yīng)用本身并不支持獲取cookie,你可以使用攔截器來(lái)實(shí)現(xiàn)這個(gè)功能。打開(kāi)攔截器的時(shí)候,你可以檢索特定域中的cookie,并發(fā)送包含cookie的request。
檢索cookie:
- 啟動(dòng)攔截器

- 在測(cè)試部分,你可以使用responseCookies對(duì)象,他將返回一個(gè)cookie對(duì)象的數(shù)組。使用postman.getResponseCookie(cookieName)檢索cookie特定的名稱(chēng)。他將返回一個(gè)單獨(dú)的cookie對(duì)象。
每個(gè)cookie都會(huì)包含下面這些屬性:
domain、 hostOnly、httpOnly、 name,、path、 secure、 session、 storeId、 value
設(shè)置cookie:
確保打開(kāi)了攔截器
在headers部分包含cookie的頭
例如:Cookie: name=value; name2=value2
3.發(fā)送request,你設(shè)置的cookie將會(huì)和你的request一起發(fā)送。
7.捕捉request
現(xiàn)在Postman的攔截器可以從Chrome瀏覽器直接捕捉request,并保存到歷史中。這意味著你可以及時(shí)的調(diào)試你的web應(yīng)用的api。這里不需要安裝或者配置代理,也不需要更改代碼。你可以根據(jù)基于URL的正則表達(dá)式過(guò)濾request。
8.設(shè)置文件
你可以在Postman的設(shè)置中處理重定向


General
- Trim keys and values in request body
如果你使用表單數(shù)據(jù)或者URL編碼模式來(lái)發(fā)送數(shù)據(jù)到服務(wù)器,這項(xiàng)設(shè)為true后就引起所有參數(shù)修整。
- Send no-cache header
你可能想要這項(xiàng)設(shè)置為true,這會(huì)確保你收到及時(shí)刷新的response。
- Send postman-token header
這主要是用來(lái)繞過(guò)Chrome的一個(gè)bug。如果一個(gè)XMLHttpRequest 處于等待狀態(tài),另一個(gè)request 發(fā)送了同樣的參數(shù),Chrome將會(huì)為兩個(gè)request返回同樣的response。發(fā)送一個(gè)隨機(jī)的token將會(huì)避免這個(gè)問(wèn)題。這同樣也會(huì)幫助你區(qū)分服務(wù)器端的request。
- XHR Timeout(ms)
設(shè)置app等待響應(yīng)的時(shí)間,如果服務(wù)器沒(méi)有響應(yīng)的話。
- Automatically follow redirects
防止我們的request返回一個(gè)300系列的response被自動(dòng)重定向。你需要安裝攔截器來(lái)防止重定向。
- Open history/collection requests in a new tab
設(shè)置為 true,當(dāng)你點(diǎn)擊左側(cè)邊欄歷史或者收藏里面的request時(shí),會(huì)在一個(gè)新的tab中打開(kāi)。
設(shè)置為false,則會(huì)在當(dāng)前tab中打開(kāi)。
- Response Font Size
設(shè)置response視圖中的字體大小
- UI Size
設(shè)置UI的大小
- Retain headers on clicking on links
如果你在response中你點(diǎn)擊了一個(gè)連接,Postman會(huì)為這個(gè)URL創(chuàng)建一個(gè)新的GET request。如果你想要保留headers 在request之前設(shè)置他,就設(shè)置為true。當(dāng)你主要方為一些受保護(hù)的資源的時(shí)候這個(gè)功能將會(huì)非常有用。
- Language detection
如果你測(cè)試的API沒(méi)有在header中返回 Content-Type ,則response不會(huì)數(shù)據(jù)轉(zhuǎn)換成合適的格式。你可以強(qiáng)制指定body的數(shù)據(jù)類(lèi)型為JSON等格式。
- Variable delimiter
變量是保存在雙花括號(hào)中的,但是你可以改變成其他的字符,這項(xiàng)并不推薦設(shè)置除非你出現(xiàn)了問(wèn)題需要更改這里。
- Force windows line endings
Refer to this Github issue to know more
- Instant dialog boxes
禁用 eye-candy 并立即顯示所有的對(duì)框框模式
- Send anonymous usage data to Postman
來(lái)禁止匿名用戶使用數(shù)據(jù)的選項(xiàng),這是的Postman的保護(hù)性更好。
Theme
選擇你喜歡的兩種主題風(fēng)格
Shortcuts
設(shè)置常用的快捷鍵
Data
導(dǎo)入導(dǎo)出我們?cè)O(shè)置的環(huán)境和數(shù)據(jù),這回覆蓋你現(xiàn)在的收藏和環(huán)境,所以小心使用。當(dāng)然你可以把你現(xiàn)在的環(huán)境先導(dǎo)出作為備份。
Add-ons
Sync
如果你登錄了Postman,你的數(shù)據(jù)就會(huì)被同步更新到Postman的服務(wù)器上,者可以確保你再次使用Postman的時(shí)候可以同步自己的數(shù)據(jù)。
你可以強(qiáng)制同步或者禁用他。
Postman 使用手冊(cè)系列教程:
Postman軟件安裝
Postman使用手冊(cè)1——導(dǎo)入導(dǎo)出和發(fā)送請(qǐng)求查看響應(yīng)
Postman使用手冊(cè)2——管理收藏
Postman使用手冊(cè)3——環(huán)境變量
Postman使用手冊(cè)4——API test
Designed By CDP