在瀑布流開發(fā)模式中疲牵,如果前端開發(fā)人員需要進行頁面對接退子,需要后端先完成 API 的開發(fā)工作螟碎,因此前后端開發(fā)的進度會互相影響鹉勒。這時候就需要使用 Mock 工具來幫助前端進行模擬頁面對接。
我們可以事先編寫好 API 的數(shù)據(jù)生成規(guī)則珍逸,由 Eolink 的 API 研發(fā)管理平臺動態(tài)生成 API 的返回數(shù)據(jù)逐虚。 開發(fā)人員通過訪問 Mock API 來獲得頁面所需要的數(shù)據(jù),完成對接工作谆膳。
以下為流程示例叭爱。
添加 Mock API
- 進入 API 文檔詳情頁面,點擊 Mock API 標簽漱病,點擊新建 Mock API :
- 在彈窗中輸入 Mock API 的名稱以及請求觸發(fā)條件:
填寫觸發(fā)條件
觸發(fā)條件支持請求頭部买雾、請求體(Form-data、JSON)杨帽、Query 參數(shù)等漓穿。
以下例子表示當 Form-data 參數(shù)中包含 user_name = jackliu 時,返回靜態(tài)的字符串數(shù)據(jù):
填寫響應結果
Mock API 提供了以下三種返回數(shù)據(jù)類型:
- JSON
如果不填寫生成規(guī)則和屬性值注盈,系統(tǒng)會自動根據(jù) JSON 結構以及數(shù)據(jù)類型來生成隨機的數(shù)據(jù)器净。
我們也可以在生成規(guī)則和屬性值中使用 Mock JS 語法來生成自定義的數(shù)據(jù)。
下圖是 Mock JS 的官方示例当凡,意為生成字符串長度介于 1~10 位的 ” ★ ”
在 API 研發(fā)管理平臺 中山害,上述的 Mock JS 的官方示例將會改寫為如下例子:
注意:如果使用 Mock JS,屬性值前需要添加 @mock=沿量,如 @mock= ” ★ ”
如果不需要使用 Mock JS浪慌,那么我們可以直接在屬性值填寫靜態(tài)數(shù)據(jù)即可:
點擊預覽按鈕得到的示例結果:
- Raw
當我們不需要隨機生成數(shù)據(jù)時,可以選擇 Raw 類型并填寫靜態(tài)數(shù)據(jù):
- 動態(tài) Javascript
當我們希望通過代碼生成返回數(shù)據(jù)時朴则,可以 使用編寫 Javascript 代碼的方式权纤,并使用 return 語句返回數(shù)據(jù)。
Javascript 模式中也支持 Mock JS乌妒,通過 Mock.mock() 方式調用汹想,詳情可以查閱 Mock JS 官方文檔。
以下例子表示使用 Javascript 代碼結合 Mock JS 生成 隨機中文名+當前日期 的返回結果:
var date = new Date();
var seperator1 = "-";
var year = date.getFullYear();
var month = date.getMonth() + 1;
var strDate = date.getDate();
//在這里使用Mock JS 獲取隨機中文名
var userName = Mock.mock("@cname");
if (month >= 1 && month <= 9)
{
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9)
{
strDate = "0" + strDate;
}
var currentdate = year + seperator1 + month + seperator1 + strDate;
return userName+seperator1+currentdate;
點擊預覽按鈕得到的示例結果:
調用Mock API
進入 Mock API 列表頁面撤蚊,點擊調用地址即可復制到剪貼板古掏,在代碼中直接對該 API 地址發(fā)起請求即可得到響應結果。
Mock API 對觸發(fā)條件的優(yōu)先級是:
以上即通過接口管理工具 Eolink 使用 Mock API 的操作流程侦啸。
Eolink 是一款能設計槽唾、管理 API 丧枪,一鍵生成 API 文檔的管理工具,除此之外還能直接打通接口測試庞萍,一鍵發(fā)起 API 測試拧烦,方便快捷且功能強大。
其提供了市面最強的 Mock API 能力體系: