json-server模擬接口請求過程

 

一、背景

前後端分離已經成爲項目的標準開發模式,通過前後端分離,極大地提高了開發效率和開發能力。

二、問題引入

作爲前端,在後端接口還沒有提供的情況下,不可避免地要使用mock的數據。有時候,我們可以使用靜態json數據來做mock,但有時候,我們並不想使用靜態json數據,而是希望自己起一個本地的mock-server來完全模擬請求以及請求回來的過程。

json-server是一個很好的可以替我們完成這一工作的工具。我們只需要提供一個json文件,或者寫幾行簡單的js腳本就可以模擬出RESTful API的接口。

三、需求場景及解決方法

什麼是json-server:

json-server 是一個 Node 模塊,運行 Express 服務器,你可以指定一個 json 文件作爲 api 的數據源。

使用方法:

  1. 首先執行npm i json-server -g把json-server作爲全局工具安裝

 

 

2. 新建一個項目目錄(後面文中所有的路徑根目錄都表示該項目目錄)

在根目錄中執行npm init初始化一個項目

新建/server目錄用於放置服務端的文件

新建/server/db.json文件作爲服務端的數據庫文件

在/server/db.json文件中寫入以下數據:

 

3. 在/server目錄執行json-server db.json -w -p 8000 啓動本地服務

 

4. 現在打開瀏覽器,訪問網址http://localhost:8000會出現一個接口管理頁面:

訪問resources裏的user會跳轉到http://localhost:8000/user,可以看到我們之前在db.json中寫入的user數組

訪問http://localhost:8000/book同上。

我們在db.json文件中寫入了標準的json格式數據,這個json裏有一個user數組和一個book數組,這就告訴json-server,我們的數據庫裏有一個名爲user的“表”和一個名爲book的“表”,並且表裏的數據爲xxx,然後json-server就會啓動服務器,並且以每個“表”爲單位爲我們註冊一系列標準的RESTful形式的API接口(路由),以user爲例:

  • [GET] /user #獲取用戶列表的接口
  • [GET] /user/:id #獲取單個用戶的接口
  • [POST] /user #新增用戶的接口
  • [PUT] /user/:id #修改用戶的接口
  • [DELETE] /user/:id #刪除用戶的接口

 

當然,主要用的是還是get和post

在獲取列表的接口中也可以追加查詢參數,來限定查詢的結果,比如:

  • 查詢所有男性用戶:

/user?gender=male

  • 查詢年齡大於等於20並且小於等於29的用戶:/user?age_gte=20&age_lte=29

此外還有分頁、排序、匹配、關係查詢等查詢方式 。

至此我們就擁有了一套強大的數據接口。

5.下面寫一個簡單的表單,添加一個用戶

6.查看用戶列表,已成功添加用戶

7.編輯用戶

接口數據已修改

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章