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

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


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

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

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

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


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

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

受限的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版本開始,我們可以使用攔截器來發(fā)送這些受限的headers:

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

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

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

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

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

一個(gè)raw請求可以包含任何內(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請求,你可以在請求收到的對應(yīng)的響應(yīng)中單擊save按鈕,指定一個(gè)response的名字,來保存對應(yīng)額response。一個(gè)request對應(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頁面自動(dòng)解析顯示出來。
Headers

這里顯示了一些鍵值對,表示了HTTP請求中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è)置來生成authorization header,請確保在生成前你的設(shè)置的正確性。
OAuth 1.0

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

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

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

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

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

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


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