使用json-server简单完成CRUD模拟后台数据的方法


Posted in Javascript onJuly 12, 2018

在开发中,后端的接口往往是较晚出来的,但是有时候我们必须给前端页面一些虚假的数据去开发,这个时候一些mock工具就很有必要了,最终我选择了 json server 工具,因为它足够简单,而且也能和你们所熟知的Mock.js 配合模拟数据(思考: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    监控文件                      [boolean]
 --routes, -r    指定路由文件
 --static, -s    设置静态文件
 --read-only, --ro 只允许 GET 请求                  [boolean]
 --no-cors, --nc  禁止跨域资源共享                  [boolean]
 --no-gzip, --ng  禁止GZIP                     [boolean]
 --snapshots, -S  设置快照目录                   [默认: "."]
 --delay, -d    设置反馈延时 (ms)
 --id, -i      设置数据的id属性 (e.g. _id)           [默认: "id"]
 --quiet, -q    不输出日志信息                   [boolean]
 --help, -h     显示帮助信息                    [boolean]
 --version, -v   显示版本号                     [boolean]

使用

创建个 Mock 目录,在该目录下创建一个json文件, db.json

{
 "list": [
 {
  "name": "游魂博客",
  "link": "www.iyouhun.com",
  "id": 1
 },
 {
  "id": 2,
  "name": "买卖淘",
  "link": "www.868432.net"
 },
 {
  "id": 3,
  "name": "游魂全自动网页制作系统",
  "link": "www.youhun.wang"
 },
 {
  "id": 4,
  "name": "游魂博客",
  "link": "www.iyouhun.com"
 },
 {
  "id": 5,
  "name": "买卖淘",
  "link": "www.868432.net"
 },
 {
  "id": 6,
  "name": "游魂全自动网页制作系统",
  "link": "www.youhun.wang"
 }]
}

在Mock目录下执行

json-server db.json

打开浏览器, http://localhost:3000 ,查看页面。可以试着直接访问他索引出来的资源 如果要监控json文件的变化,启动的时候加上参数 --watch 或者 -w 。

支持的方法

你可以使用任何 HTTP method

如:

  • GET /list 获取列表
  • GET /list/1 获取id=1的数据
  • POST /list 创建一个项目
  • PUT /list/1 更新一个id为1的数据
  • PATCH /list/1 部分更新id为1的数据
  • DELETE /list/1 删除id为1的数据

注意:

  • 当你发送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。

操作数据

这里请求数据我全部使用postman工具,最后一条删除我使用jquery的$.ajax  举例

查询

GET请求:http://localhost:3000/list

使用json-server简单完成CRUD模拟后台数据的方法

新增

POST请求:http://localhost:3000/list

参数:{"name":"游魂博客","link":www.iyouhun.com}

使用json-server简单完成CRUD模拟后台数据的方法

请求成功后会看到返回的就是新增成功的友链信息

修改

PUT请求:http://localhost:3000/list/1  修改id为1的友链信息

参数:{"name":"哈哈哈哈哈客","link":"www"}

使用json-server简单完成CRUD模拟后台数据的方法

删除

DELETE请求:http://localhost:3000/list/1 删除id为1的友链信息

$.ajax({
  type: 'DELETE',
  url: 'http://localhost:3000/list/1',
  success: function (data) {
    console.log(data)
  }
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
动态控制Table的js代码
Mar 07 Javascript
js获取UserControl内容为拼html时提供方便
Nov 02 Javascript
AngularJS实现textarea记录只能输入规定数量的字符并显示
Apr 26 Javascript
JavaScript 节流函数 Throttle 详解
Jul 04 Javascript
jquery网页日历显示控件calendar3.1使用详解
Nov 24 Javascript
React实现点击删除列表中对应项
Jan 10 Javascript
JS仿JQuery选择器功能
Mar 08 Javascript
jQuery EasyUI之验证框validatebox实例详解
Apr 10 jQuery
jquery实现下拉菜单的手风琴效果
Jul 23 jQuery
JavaScript实现换肤功能
Sep 15 Javascript
layDate插件设置开始和结束时间
Nov 15 Javascript
el-form 多层级表单的实现示例
Sep 10 Javascript
教你如何用node连接redis的示例代码
Jul 12 #Javascript
angular 内存溢出的问题解决
Jul 12 #Javascript
详解vue填坑之解决部分浏览器不支持pushState方法
Jul 12 #Javascript
vue插件开发之使用pdf.js实现手机端在线预览pdf文档的方法
Jul 12 #Javascript
vue中如何实现pdf文件预览的方法
Jul 12 #Javascript
js+css实现红包雨效果
Jul 12 #Javascript
基于vue cli 通过命令行传参实现多环境配置
Jul 12 #Javascript
You might like
Php output buffering缓存及程序缓存深入解析
2013/07/15 PHP
浅析PHP中的i++与++i的区别及效率
2016/06/15 PHP
PHP中函数gzuncompress无法使用的解决方法
2017/03/02 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
基于jquery的监控数据是否发生改变
2011/04/11 Javascript
JQuery+CSS提示框实现思路及代码(纯手工打造)
2013/05/07 Javascript
Jquery原生态实现表格header头随滚动条滚动而滚动
2014/03/18 Javascript
js实现简单的联动菜单效果
2015/08/19 Javascript
基于JavaScript代码实现pc与手机之间的跳转
2015/12/23 Javascript
js Canvas实现的日历时钟案例分享
2016/12/25 Javascript
简单实现js悬浮导航效果
2017/02/05 Javascript
详谈js中window.location.search的用法和作用
2017/02/13 Javascript
基于Node的React图片上传组件实现实例代码
2017/05/10 Javascript
javascript计算对象长度的方法
2017/10/25 Javascript
小程序使用watch监听数据变化的方法详解
2019/09/20 Javascript
Vue实现手机扫描二维码预览页面效果
2020/05/28 Javascript
openlayers实现图标拖动获取坐标
2020/09/25 Javascript
python中利用xml.dom模块解析xml的方法教程
2017/05/24 Python
Python3实战之爬虫抓取网易云音乐的热门评论
2017/10/09 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
Python玩转Excel的读写改实例
2019/02/22 Python
Python3实现的简单工资管理系统示例
2019/03/12 Python
java判断三位数的实例讲解
2019/06/10 Python
Python字典dict常用方法函数实例
2020/11/09 Python
美国时尚女装在线:Missguided
2016/12/03 全球购物
美国温暖商店:The Warming Store
2018/12/15 全球购物
匡威西班牙官网:Converse西班牙
2019/10/01 全球购物
adidas马来西亚官网:adidas MY
2020/09/12 全球购物
元旦联欢会主持词
2014/03/26 职场文书
2014年幼儿园学期工作总结
2014/12/05 职场文书
民主生活会汇报材料
2014/12/15 职场文书
写给孩子的新学期寄语
2015/02/27 职场文书
单身证明范本
2015/06/15 职场文书
2016应届毕业生就业指导课心得体会
2016/01/15 职场文书
八年级数学教学反思
2016/02/17 职场文书
python基于turtle绘制几何图形
2021/06/15 Python