最近項目上比較忙,任務多時間緊,導致后端開發任務繁多,無法及時開發完畢,但是前端同學已經把對應功能開發完成,需要進行前后端聯調來驗證API及一些交互問題;這不能因為后端的進度來影響前端的工作完成情況,因此,Postman的mock數據功能就用了,確實好用。
目錄
- Postman-模擬服務介紹
- 使用postman mock數據
- 創建mock集合-Collection
- 找到Collection
- 點擊 + 號創建
- 創建request
- 創建mock server
- 選擇集合mock
- 配置mock
- 得到mock server地址
- 創建mock response
- 1. 打開collection,選擇request;
- 2. 為request創建一個example;
- 3. 保存example;
- 使用mock server
- Environment
- 總結
Postman-模擬服務介紹
Setting up mockservers-設置模擬服務器:Postman開發了一種新的模擬服務,使團隊能夠模擬后端服務器。Postman使您能夠創建模擬服務器來協助 API 開發和測試。模擬服務器通過接受請求并返回響應來模擬真實 API服務器的行為。通過將模擬服務器添加到您的集合并向您的請求添加示例,您可以模擬真實 API 的行為。
前端,后端和API團隊現在可以并行工作,從而釋放之前因這些依賴性而延遲的開發人員。現在,讓我們看看Postman是如何模擬后端的。
使用postman mock數據
??:以下截圖展示功能模塊可能會和你的有所出入,應該只是版本問題,找到對應功能操作即可
創建mock集合-Collection
找到Collection
點擊 + 號創建
可以看到我創建的集合
創建request
如圖,我創建了一個GET 接口
創建mock server
選擇集合mock
依然是在我們創建的集合這里,看到三個空心點,點擊后可以看到Mock collection,點擊
配置mock
點擊Mock collection后,出現以下界面,為我們的mock server起個名字
- Environment:存儲重用值的變量,比如你的url前綴統一為:https://127.0.0.1:8080/api,就可以設置環境變量,只是簡化操作,無實際影響,這個下面會講到
- Simulate a fixed network delay:網絡延遲的選擇,無特殊要求也不用管
得到mock server地址
點擊creat mock server后,會看到如下頁面,有一個mock server的地址,這個mock server是postman在自己的服務器上為我們創建的,無論我們是否打開postman,我們都可以直接用這個地址來訪問mock的API。
這個地址也不會丟,如下圖步驟可以看到創建的mock server:
創建mock response
現在我們有了request請求,有了mock 服務,還缺少response就大功告成。
這一步簡單理解來說就是對于request請求,需要自己提供mock data。
在postman里面,這個概念叫做example,即每一個你需要訪問的路徑/接口/資源,都可以提供一個🌰,即便你連不上,你也可以通過例子知道該路徑/接口/資源大概會返回什么樣的response。這個example不單單是為了mock而做的,因為postman可以生成API文檔,在生成文檔的時候,這個例子也會直接放在文檔里,方便查閱文檔的人了解接口。
具體步驟:
1. 打開collection,選擇request;
2. 為request創建一個example;
3. 保存example;
填寫response數據
這里有幾點需要注意:
- 每個request都可以有多個example
- 每個example創建之后都可以修改
- Mock server只會采用最后創建的example
- 注意status code的設置
使用mock server
現在我們有了request請求,有了mock 服務,response內容也有了。
這時,mock server就不再只是一個空殼了
它會為每一個創建了example的request提供mock服務,
mock的內容就是最后創建的example的內容。
我們可以直接在瀏覽器上驗證:
驗證方式:mock server地址+api
注意,如果是POST請求,大概率會失敗,因為瀏覽器默認是用GET去訪問的
Environment
前面說到Environment,這里做個簡單講解
主要是用于存儲重用值的變量,比如你的url前綴統一為:https://127.0.0.1:8080/api,就可以設置環境變量,只是簡化操作
例如我之前設置的
總結
mock server是掛載postman的服務器上,只要有網絡,前端是可以在家辦公,而不用受制于內網限制的,有了postman這個功能,前端團隊和后端團隊完全可以在約定了API接口之后,各自完成開發,而不需要收到對方進度的影響,但接口、數據格式的約定就變得尤為重要了!