3分鐘設定完 mock server
使用情境:
當與你合作的 server 功能還未完成
你可以透過 json-server 輕鬆的模擬 server 的功能
npm install -g json-server
建立一個 resp.json 檔案,內容如下:
{
"Balance": {
"errorCode": 0,
"errorMessage": "No Error",
"data": {
"balance": 1000
}
},
"Bet": {
"errorCode": 0,
"errorMessage": "No Error",
"data": {
"bet": 1000
}
}
}
GetBalance 為 API 名稱(/GetBalance),{} 大括號內為要回傳的 json 內容
建立 routes.json 檔案,內容如下:
{
"/DOMAIN/Balance": "/Balance",
"/DOMAIN/Bet": "/Bet"
}
/User/GetBalance 會自動轉址到 /GetBalance
由於非 GET 方式會修改 resp.json 檔案內容,所以新增下面的 middleware,將所有的要求都改成 GET 方式
// middleware-1.js
module.exports = function (req, res, next) {
if (req.method === "POST") {
// Converts POST to GET and move payload to query params
// This way it will make JSON Server that it's GET request
req.method = "GET";
req.query = req.body;
}
// Continue to JSON Server router
next();
};
有些設定可以寫在 json-server.json 檔案內,如下:
{
"port": 4000,
"routes": "routes.json",
"middlewares": [
"middleware-1.js"
]
}
由於 json-server.json 是預設檔名,所以只需要輸入 resp.json 的 API 設定,就能啟動服務
json-server resp.json