某些場景中,咱們可能須要根據接口的入參規則,加入適當的邏輯處理後再返回數據。一個簡單的場景就是登陸場景,須要根據用戶名密碼,判斷是否登陸成功。再或者,咱們須要根據產品ID動態返回產品信息,等等。如今fastmock提供了這種場景的解決方案,下圖中展現瞭如何若是在mock規則中獲取請求中的各個部分的數據而後再返回,其中包括了四種數據。javascript
如:上圖中的對應接口錄入規則爲java
{ "code": "0000", "data": { "token": function({_req, Mock}) { return _req.headers.token; }, "id": function({_req, Mock}) { return _req.params.id; }, "name": function({_req, Mock}) { return _req.body.name; }, "age": function({_req, Mock}) { return _req.query.age; } }, "desc": "成功" }
再舉一個驗證登陸信息的例子:json
{ "code": "0000", "data": { "verifySuccess": function({_req, Mock}) { let body = _req.body; return body.username === 'admin' && body.password === '123456'; }, "userInfo": function({_req, Mock}) { let body = _req.body; if (body.username === 'admin' && body.password === '123456') { return Mock.mock({ username: "admin", email: "@email", address: "@address" }); } else { return null; } }, }, "desc": "成功" }
上面的規則中定義了登陸接口只有請求體{username: 'admin', password: '123456'}時,纔會返回用戶信息,且帶有mock生成的隨機郵箱地址和居住地址restful