使用json-server簡單完成CRUD模擬后臺數(shù)據(jù)的方法
在開發(fā)中,后端的接口往往是較晚出來的,但是有時候我們必須給前端頁面一些虛假的數(shù)據(jù)去開發(fā),這個時候一些mock工具就很有必要了,最終我選擇了 json server 工具,因為它足夠簡單,而且也能和你們所熟知的Mock.js 配合模擬數(shù)據(jù)(思考:mockjs是可以作為一個獨立的 mock server 存在,但為什么不單獨用它?)。
安裝
npm install json-server -g
安裝完成后可以用 json-server -h 命令檢查是否安裝成功。
json-server [options] <source> Options: --config, -c 指定 config 文件 [默認: "json-server.json"] --port, -p 設置端口號 [default: 3000] --host, -H 設置主機 [默認: "0.0.0.0"] --watch, -w 監(jiān)控文件 [boolean] --routes, -r 指定路由文件 --static, -s 設置靜態(tài)文件 --read-only, --ro 只允許 GET 請求 [boolean] --no-cors, --nc 禁止跨域資源共享 [boolean] --no-gzip, --ng 禁止GZIP [boolean] --snapshots, -S 設置快照目錄 [默認: "."] --delay, -d 設置反饋延時 (ms) --id, -i 設置數(shù)據(jù)的id屬性 (e.g. _id) [默認: "id"] --quiet, -q 不輸出日志信息 [boolean] --help, -h 顯示幫助信息 [boolean] --version, -v 顯示版本號 [boolean]
使用
創(chuàng)建個 Mock 目錄,在該目錄下創(chuàng)建一個json文件, db.json
{
"list": [
{
"name": "游魂博客",
"link": "www.iyouhun.com",
"id": 1
},
{
"id": 2,
"name": "買賣淘",
"link": "www.868432.net"
},
{
"id": 3,
"name": "游魂全自動網(wǎng)頁制作系統(tǒng)",
"link": "www.youhun.wang"
},
{
"id": 4,
"name": "游魂博客",
"link": "www.iyouhun.com"
},
{
"id": 5,
"name": "買賣淘",
"link": "www.868432.net"
},
{
"id": 6,
"name": "游魂全自動網(wǎng)頁制作系統(tǒng)",
"link": "www.youhun.wang"
}]
}
在Mock目錄下執(zhí)行
json-server db.json
打開瀏覽器, http://localhost:3000 ,查看頁面??梢栽囍苯釉L問他索引出來的資源 如果要監(jiān)控json文件的變化,啟動的時候加上參數(shù) --watch 或者 -w 。
支持的方法
你可以使用任何 HTTP method
如:
- GET /list 獲取列表
- GET /list/1 獲取id=1的數(shù)據(jù)
- POST /list 創(chuàng)建一個項目
- PUT /list/1 更新一個id為1的數(shù)據(jù)
- PATCH /list/1 部分更新id為1的數(shù)據(jù)
- DELETE /list/1 刪除id為1的數(shù)據(jù)
注意:
- 當你發(fā)送POST,PUT,PATCH 或者 DELETE請求時,變化會自動安全的保存到你的db.json文件中。
- 你的請求體body應該是封閉對象。比如
{"name": "Foobar"} - id不是必須的,在PUT或者PATCH方法中,任何的id值將會被忽略。
- 在POST請求中,id是可以被添加的,如果該值沒有沒占用,會使用該值,否則自動生成。
- POST,PUT或者PATCH請求應該包含一個
Content-Type:application/json的header,來確保在請求body中使用json。
操作數(shù)據(jù)
這里請求數(shù)據(jù)我全部使用postman工具,最后一條刪除我使用jquery的$.ajax 舉例
查詢
GET請求:http://localhost:3000/list

新增
POST請求:http://localhost:3000/list
參數(shù):{"name":"游魂博客","link":www.iyouhun.com}

請求成功后會看到返回的就是新增成功的友鏈信息
修改
PUT請求:http://localhost:3000/list/1 修改id為1的友鏈信息
參數(shù):{"name":"哈哈哈哈哈客","link":"www"}

刪除
DELETE請求:http://localhost:3000/list/1 刪除id為1的友鏈信息
$.ajax({
type: 'DELETE',
url: 'http://localhost:3000/list/1',
success: function (data) {
console.log(data)
}
})
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
ES6的異步操作之promise用法和async函數(shù)的具體使用
這篇文章主要介紹了ES6的異步操作之promise用法和async函數(shù)的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-12-12
用JavaScript來美化HTML的select標簽的下拉列表效果
這篇文章主要介紹了用JavaScript來美化HTML的select標簽的下拉列表效果的方法,而且在多瀏覽器下的兼容效果也得到提升,需要的朋友可以參考下2015-11-11
淺析JavaScriptSerializer類的序列化與反序列化
本篇文章主要介紹了JavaScriptSerializer類 對象序列化與反序列化的方法、屬性以及實例代碼,有需要的朋友可以參考一下2016-11-11
node.js+express+mySQL+ejs+bootstrop實現(xiàn)網(wǎng)站登錄注冊功能
這篇文章主要介紹了node.js+express+mySQL+ejs+bootstrop實現(xiàn)網(wǎng)站登錄注冊功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2018-01-01
Bootstrap告警框(alert)實現(xiàn)彈出效果和短暫顯示后上浮消失的示例代碼
這篇文章主要介紹了Bootstrap告警框(alert)實現(xiàn)彈出效果和短暫顯示后上浮消失,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08

