EasyMock優(yōu)勢
1. 省去配置、安裝mockJs步驟,解決多人協(xié)作Mock數(shù)據(jù)不互通問題
2. 不需要在項(xiàng)目中寫多余的代碼,例如將Mock 數(shù)據(jù)寫在代碼里、json文件里
-
平臺默認(rèn)創(chuàng)建了一個(gè)演示項(xiàng)目,打開如下:
使用時(shí)建議和后臺返回的數(shù)據(jù)一樣
-
創(chuàng)建接口
EasyMock的寫法和Mock.js一模一樣
Mock.js語法- 基礎(chǔ)語法
{ "status": 0, "list|1-4": [{ "id": "@id", "name": "@cname", "IP": "@ip", "email": "@email", }] }- Function使用
{ "status": 0, name: function({ _req }) { return _req.query.name }, data: function({ _req, Mock }){ return _req.query.name ? { id: Mock.mock("@id()"), cname: Mock.mock("@cname()"), } : {} }, "list|1-4": [{ "id": "@id", "name": "@cname", "IP": "@ip", "email": "@email", }] }-
Function 參數(shù)說明
字段 描述 Mock Mock 對象 _req.url 獲得請求 url 地址 _req.method 獲取請求方法 _req.params 獲取 url 參數(shù)對象 _req.querystring 獲取查詢參數(shù)字符串(url中?后面的部分),不包含 ? _req.query 將查詢參數(shù)字符串進(jìn)行解析并以對象的形式返回,如果沒有查詢參數(shù)字字符串則返回一個(gè)空對象 _req.body 當(dāng) post 請求以 x-www-form-urlencoded 方式提交時(shí),我們可以拿到請求的參數(shù)對象 _req.path 獲取請求路徑名 _req.header 獲取請求頭對象 _req.originalUrl 獲取請求原始地址 _req.search 獲取查詢參數(shù)字符串,包含 ? _req.host 獲取 host (hostname:port) _req.hostname 獲取 hostname _req.type 獲取請求 Content-Type,不包含像 "charset" 這樣的參數(shù) _req.protocol 返回請求協(xié)議 _req.ip 請求遠(yuǎn)程地址 _req.get(field) 獲取請求 header 中對應(yīng) field 的值 _req.cookies(field) 獲取請求 cookies 中對應(yīng) field 的值
-
自定義響應(yīng)
-
當(dāng)定義的數(shù)據(jù)結(jié)構(gòu)中包含 _res 字段的時(shí)候,會進(jìn)入一個(gè)特殊邏輯,可以給返回的請求添加一些定制信息。
字段 描述 status 可以定制返回的 http status code,默認(rèn)是 200 cookies 可以定制需要設(shè)置的 cookie(暫時(shí)不支持設(shè)置過期時(shí)間等) headers 可以定制返回的 response 的 header data 如果有這個(gè)字段,會以此數(shù)據(jù)直接覆蓋整個(gè)返回的數(shù)據(jù),并且此處不支持 mock 的語法(如果 _res.status 的值為 200,則不會覆蓋默認(rèn)定義的 mock 數(shù)據(jù))
{ "success": true, "data": { "default": "hah" }, "_res":{ "status": 400, "data": { "success": false }, "cookies": { "test": "true" }, "headers": { "Power": "easy-mock" } } }以此定義為例,當(dāng) _res.status 的值為 400 的時(shí)候,用戶端接收到的響應(yīng)將會是 _res.data 中定義的數(shù)據(jù),并且返回一個(gè) status code 為 400 的響應(yīng),響應(yīng)的 header 中會包含一個(gè)叫做 Power 的值,并為瀏覽器設(shè)置一個(gè)叫做 test 的 cookie。
當(dāng)你想要返回正常的 mock 數(shù)據(jù)的時(shí)候,修改 _res.status 為 200,或者將整個(gè) _res 刪掉即可。
-
