做者聲明:本博客中所寫的文章,都是博主自學過程的筆記,參考了不少的學習資料,學習資料和筆記會註明出處,全部的內容都以交流學習爲主。有不正確的地方,歡迎批評指正html
本文主要是參考aicoder馬倫老師的博客前端
Postman 是一個接口測試和 http 請求的神器,很是好用。java
官方 github 地址: https://github.com/postmanlabspython
Postman 的優勢:git
如下內容主要參考: Github: api_tool_postmangithub
Postman 能夠單獨做爲一個應用安裝,也能夠做爲 chrome 的一個插件安裝。web
chrome 插件安裝, Postman 插件地址chrome
單獨應用安裝下載json
下面主要介紹下載安裝獨立版本app 軟件的 Postman 的過程:swift
去主頁Postman 官網找到:Postman | Apps
去下載本身平臺的版本:
安裝成功後,打開軟件。
對應的Request:New -> Request
或,在右邊的 Tab 頁面中點擊加號+:
便可看到新建的 Tab 頁:
設置 HTTP 的 Method 方法和輸入 api 的地址
都填寫好以後,點擊 Send 去發送請求 Request:
而後能夠重複上述修改 Request 的參數,點擊 Send 去發送請求的過程,以便調試到 API 接口正常工做爲止。
待整個接口都調試完畢後,記得點擊 Save 去保存接口信息:
去保存當前 API 接口,而後須要填寫相關的接口信息:
http://{% raw %}{{% endraw %}{server_address}}/ucows/login/login
中的/login/login
可選
最好寫上該接口的要實現的基本功能和相關注意事項填寫好內容,選擇好分組,再點擊保存:
此時,Tab 的右上角的黃色點(表示沒有保存)消失了,表示已保存。
且對應的分組中能夠看到對應的接口了:
[warning] 默認不保存返回的 Response 數據
- 直接點擊 Save 去保存,只能保存 API 自己(的 Request 請求),不會保存 Response 的數據
- 想要保存 Response 數據,須要用後面要介紹的 多個 Example
好比,對於一個 GET 的請求的 url 是: http://openapi.youdao.com/api?q=糾刪碼(EC)的學習&from=zh_CHS&to=EN&appKey=152e0e77723a0026&salt=4&sign=6BE15F1868019AD71C442E6399DB1FE4
對應着實際上是?key=value
形式中包含多個 Http 的 GET 的 query string=query parameters
Postman 能夠自動幫咱們解析出對應參數,能夠點擊 Params:
看到展開的多個參數:
如此就能夠很方便的修改,增刪對應的參數了。
且還支持,在不刪除某參數的狀況下,若是想要暫時不傳參數,能夠方便的經過不勾選的方式去實現:
固然,若是想要批量的編輯參數,能夠點擊右上角的Bulk Edit,去實現批量編輯。
API 的描述中,也支持 Markdown,官方的接口說明文檔:Intro to API documentation。
因此,能夠很方便的添加有條理的接口描述,尤爲是參數解釋了:
而對於要解釋的參數,能夠經過以前的Param -> Bulk Edit
的內容:
拷貝過來,再繼續去編輯:
以及添加更多解釋信息:
點擊 Update 後,便可保存。
去發佈後:
對應的效果:有道翻譯
Postman 對於返回的 Response 數據,支持三種顯示模式。
默認
格式化後的 Pretty 模式點擊Raw,能夠查看到返回的沒有格式化以前的原始數據:
以及 Preview,是對應 Raw 原始格式的預覽模式:
Preview 這種模式的顯示效果,好像是對於返回的是 html 頁面這類,才比較有效果。
不少時候普通的 API 調用,卻是沒有 Cookie 的:
舉例,此處返回的是有 Headers 頭信息的:
能夠從中看到服務器是 Nginx 的。
以前想要實現,讓導出的 API 文檔中能看到接口返回的 Response 數據。後來發現是Example這個功能去實現此效果的。
繼續點擊Save Example:
保存後,就能看到Example(1)了:
而後再去導出文檔,導出文檔中的確能看到返回數據的例子:
在剛開始一個項目時,爲了後續便於組織和管理,把同屬該項目的多個 API,放在一組裏
因此要先去新建一個 Collection: New -> Collection
使用了段時間後,建了多個分組的效果:
單個分組展開後的效果:
Postman 支持 history 歷史記錄,顯示出最近使用過的 API:
在測試 API 期間,每每存在多種環境,對應 IP 地址(或域名也不一樣)
好比:
http://116.62.25.57/ucows
http://123.206.191.125/ucows
http://192.168.0.140:80/ucows
而在測試 API 期間,每每須要手動去修改 API 的地址:
效率比較低,且地址更換後以前地址就無法保留了。
另外,且根據不一樣 IP 地址(或者域名)也不容易識別是哪套環境。
後來發現 Postman 中,有 Environment 和 Global Variable,用於解決這個問題,實現不一樣環境的管理:
很明顯,就能夠用來實現不用手動修改 url 中的服務器地址,從而動態的實現,支持不一樣服務器環境:
或者:
Environments are a group of variables & values, that allow you to quickly switch the context for your requests and collections.
Learn more about environments
You can declare a variable in an environment and give it a starting value, then use it in a request by putting the variable name within curly-braces. Create an environment to get started.
輸入 Key 和 value:
點擊 Add 後:
[info] 環境變量可使用的地方
- URL
- URL params
- Header values
- form-data/url-encoded values
- Raw body content
- Helper fields
- 寫 test 測試腳本中
- 經過 postman 的接口,獲取或設置環境變量的值。
此處把以前的在 url 中的 IP 地址(或域名)換成環境變量:
鼠標移動到環境變量上,能夠動態顯示出具體的值:
再去添加另一個開發環境:
則可添加完 2 個環境變量,表示兩個服務器地址,兩個版本:
而後就能夠切換不一樣服務器環境了:
能夠看到,一樣的變量 server_address,在切換後對應 IP 地址就變成但願的開發環境的 IP 了:
順帶也去看看,導出爲 API 文檔後,帶了這種 Environment 的變量的接口,文檔長什麼樣子:
發現是在發佈以前,須要選擇對應的環境的:
發佈後的文檔,能夠看到所選環境和對應服務器的 IP 的:
固然發佈文檔後,也能夠實時切換環境:
當更換服務器時,直接修改變量的 IP 地址:
便可實時更新,當鼠標移動到變量上便可看到效果:
對於當前的請求,還能夠經過點擊 Code
去查看對應的符合 HTTP 協議的原始的內容:
好比:
目前支持的語言有:
代碼生成工具的好處是:在寫調用此 API 的代碼時,就能夠參考對應代碼,甚至拷貝粘貼對應代碼,便可。
選中某個分組後,點擊 Runner
選中某個分組後點擊 Run
便可看到測試結果:
關於此功能的介紹可參考Postman 官網的git 圖
直接參考官網。
Postman 支持多 tab 頁,於此對比以前有些 API 調試工具就不支持多 Tab 頁,好比Advanced Rest Client
多 tab 的好處:
方便在一個 tab 中測試,獲得結果後,複製粘貼到另外的 tab 中,繼續測試其它接口
好比此處 tab1 中,測試了獲取驗證碼接口後,拷貝手機號和驗證碼,粘貼到 tab2 中,繼續測試註冊的接口
Postman 的默認的 Request 和 Response 是上下佈局:
此處點擊右下角的Two pane view
,就變成左右的了:
[info] 左右佈局的用途
對於數據量很大,又想要同時看到請求和返回的數據的時候,應該比較有用。
Posman 支持兩種主題:
當前是深色主題,效果很不錯:
能夠切換到 淺色主題:
在服務端後臺的開發人員測試好了接口後,打算把接口的各類信息發給使用此 API 的前端的移動端人員時,每每會遇到:
要麼是用複製粘貼 -> 格式不友好 要麼是用 Postman 中截圖 -> 方便看,可是不方便得到 API 接口和字段等文字內容 要麼是用 Postman 中導出爲 JSON -> json 文件中信息太繁雜,不利於找到所須要的信息 要麼是用文檔,好比去編寫 Markdown 文檔 -> 但後續 API 的變動須要實時同步修改文檔,也會很麻煩 這都會致使別人查看和使用 API 時很不方便。
-> 對此,Postman 提供了發佈 API
預覽和發佈 API 文檔 下面介紹 Postman 中如何預覽和發佈 API 文檔。
點擊分組右邊的大於號>
若是隻是預覽,好比後臺開發員本身查看 API 文檔的話,能夠選擇:View in web
等價於點擊Publish Docs去發佈:
View in Web 後,有 Publish 的選項(見後面的截圖)
View in Web 後,會打開預覽頁面:
好比:
奶牛雲
https://documenter.getpostman.com/collection/view/669382-42273840-6237-dbae-5455-26b16f45e2b9
而右邊的示例代碼,也能夠從默認的 cURL 換成其餘的:
若是想要讓其餘人能看到這個文檔,則點擊 Publish:
而後會打開相似於這樣的地址:
Postman Documenter
https://documenter.getpostman.com/collection/publish?meta=Y29sbGVjdGlvbl9pZD00MjI3Mzg0MC02MjM3LWRiYWUtNTQ1NS0yNmIxNmY0NWUyYjkmb3duZXI9NjY5MzgyJmNvbGxlY3Rpb25fbmFtZT0lRTUlQTUlQjYlRTclODklOUIlRTQlQkElOTE=
點擊 Publish 後,能夠生成對應的公開的網頁地址:
打開 API 接口文檔地址:
https://documenter.getpostman.com/view/669382/collection/77fd4RM
便可看到(和前面預覽同樣效果的 API 文檔了):
如此,別人便可查看對應的 API 接口文檔。
後續若是本身的 API 接口修改後:
好比:
(後來發現,不用再去進入此預覽和發佈的流程,去更新文檔,而是 Postman 自動支持)
別人去刷新該文檔的頁面:
https://documenter.getpostman.com/view/669382/collection/77fd4RM
便可看到更新後的內容: