在瀑布流開發模式中,如果前端開發人員需要進行頁面對接,需要後端先完成 API 的開發工作,是以前後端開發的進度會互相影響。這時候就需要使用 Mock 工具來幫助前端進行模拟頁面對接。
我們可以事先編寫好 API 的資料生成規則,由 Eolink 的 API 研發管理平台動态生成 API 的傳回資料。 開發人員通過通路 Mock API 來獲得頁面所需要的資料,完成對接工作。
以下為流程示例。
添加 Mock API
- 進入 API 文檔詳情頁面,點選 Mock API 标簽,點選建立 Mock API :
- 在彈窗中輸入 Mock API 的名稱以及請求觸發條件:
填寫觸發條件
觸發條件支援請求頭部、請求體(Form-data、JSON)、Query 參數等。
以下例子表示當 Form-data 參數中包含 user_name = jackliu 時,傳回靜态的字元串資料:
填寫響應結果
Mock API 提供了以下三種傳回資料類型:
- JSON
如果不填寫生成規則和屬性值,系統會自動根據 JSON 結構以及資料類型來生成随機的資料。
我們也可以在生成規則和屬性值中使用 Mock JS 文法來生成自定義的資料。
下圖是 Mock JS 的官方示例,意為生成字元串長度介于 1~10 位的 ” ★ ”
在 API 研發管理平台 中,上述的 Mock JS 的官方示例将會改寫為如下例子:
注意:如果使用 Mock JS,屬性值前需要添加 @mock=,如 @mock= ” ★ ”
如果不需要使用 Mock JS,那麼我們可以直接在屬性值填寫靜态資料即可:
點選預覽按鈕得到的示例結果:
- Raw
當我們不需要随機生成資料時,可以選擇 Raw 類型并填寫靜态資料:
- 動态 Javascript
當我們希望通過代碼生成傳回資料時,可以 使用編寫 Javascript 代碼的方式,并使用 return 語句傳回資料。
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 位址發起請求即可得到響應結果。
Mock API 對觸發條件的優先級是:
以上即通過接口管理工具 Eolink 使用 Mock API 的操作流程。
Eolink 是一款能設計、管理 API ,一鍵生成 API 文檔的管理工具,除此之外還能直接打通接口測試,一鍵發起 API 測試,友善快捷且功能強大。
其提供了市面最強的 Mock API 能力體系:
有興趣可以自行試用:www.eolink.com