作爲一個前端開發工程師,在後端還沒有ready的時候,不可避免的要使用mock的數據。很多時候,我們並不想使用簡單的靜態數據,而是希望自己起一個本地的mock-server來完全模擬請求以及請求回來的過程。json-server是一個很好的可以替我們完成這一工作的工具。我們只需要提供一個json文件,或者寫幾行簡單的js腳本就可以模擬出RESTful API的接口。
首先,提供一個很不錯的json-server 入門視頻小教程Creating Demo APIs with json-server。
github地址:https://github.com/typicode/json-server
安裝json-server
npm install -g json-server
$ json-server -v
0.14.0
創建db.json
在一個文件夾下新建一個db.json文件
{
"posts": [
{ "id": 1, "title": "json-server", "author": "typicode" }
],
"comments": [
{ "id": 1, "body": "some comment", "postId": 1 }
],
"profile": { "name": "typicode" }
}
啓動json-server
在當前文件夾下輸入如下命令:
json-server db.json
控制檯如下:
\{^_^}/ hi!
Loading db.json
Done
Resources
http://localhost:3000/posts
http://localhost:3000/comments
http://localhost:3000/profile
Home
http://localhost:3000
Type s + enter at any time to create a snapshot of the database
表明我們的json-server 已經啓動成功。我們可以通過postman以及瀏覽器發送請求,獲得相應數據了。 “http://localhost:3000/posts”等即爲請求的url。
發送GET請求http://localhost:3000/posts,可獲得如下的response:
[
{
"id": 1,
"title": "json-server",
"author": "typicode"
}
]
同時json-server還給我們提供了一個瀏覽器的可視化主頁,通過“http://localhost:3000”即可進行訪問。
在瀏覽器中打開“http://localhost:3000”,界面如下圖所示:
分別點擊相應的Resources鏈接,可直接查看每個endpoint的返回結果,同時,它還標註了返回結果的類型。
Tips:
1、使用“json-server --watch db.json”命令可以實時監測db.json的變化;如果沒有 -- watch 命令,即使db.json已經發生了改變,重新發請求,仍然會返回原先的mock data,返回狀態碼304,認爲沒有變化。
GET /people 304 3.883 ms - -
2、同時,我們可以發送 POST、PUT、PATCH和DELETE請求,相應的結果會通過lowdb自動保存到db.json。關於POST、PUT等相關請求的發送,這裏不再做贅述,視頻教程中有詳細的講解。
3、我們的request body應該是一個json對象,比如{"name":"Lynn"};
4、POST、PUT、PATCH請求頭中要包含Content-Type: application/json;
5、id的值是自動生成且不易變的。PUT請求和PATCH請求中自帶的id會被忽略。
至此,已經可以滿足mock-server的一些基本需求,下面將詳細講解json-server的一些更高級功能。
json-server的使用(進階篇) 未完待續。。。
原文:https://blog.csdn.net/weixin_40817115/article/details/81237128