使用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 相关文章推荐
Maps Javascript
Jan 22 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
Nov 25 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
Jun 16 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
Jun 23 Javascript
Jquery实现仿腾讯微博发表广播
Nov 17 Javascript
js实现n秒倒计时后才可以点击的效果
Dec 20 Javascript
GitHub上一些实用的JavaScript的文件压缩解压缩库推荐
Mar 13 Javascript
JS随机打乱数组的方法小结
Jun 22 Javascript
jQuery实现的右下角广告窗体跟随效果示例
Sep 16 Javascript
Bootstrap 轮播(Carousel)插件
Dec 26 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
May 11 Javascript
ES6中Class类的静态方法实例小结
Oct 28 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 parse_str() 函数的定义和用法
2016/05/23 PHP
微信支付开发告警通知实例
2016/07/12 PHP
php获取今日开始时间和结束时间的方法
2017/02/27 PHP
tp5.1框架数据库子查询操作实例分析
2020/05/26 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
2020/06/06 PHP
javascript获取元素CSS样式代码示例
2013/11/28 Javascript
Asp.Net alert弹出提示信息的几种方法总结
2014/01/29 Javascript
JS获取网页属性包括宽、高等等
2014/04/03 Javascript
jQuery实现鼠标跟随效果
2017/02/20 Javascript
jQuery插件zTree实现获取当前选中节点在同级节点中序号的方法
2017/03/08 Javascript
vue 实现 tomato timer(蕃茄钟)实例讲解
2017/07/24 Javascript
vue获取验证码倒计时组件
2019/08/26 Javascript
JS实现电脑虚拟键盘打字测试
2020/06/24 Javascript
JavaScript如何操作css
2020/10/24 Javascript
vue 解决provide和inject响应的问题
2020/11/12 Javascript
python访问系统环境变量的方法
2015/04/29 Python
Python的Django中django-userena组件的简单使用教程
2015/05/30 Python
Python的Flask开发框架简单上手笔记
2015/11/16 Python
python中PIL安装简单教程
2016/04/21 Python
Python 查看文件的编码格式方法
2017/12/21 Python
python3 发送任意文件邮件的实例
2018/01/23 Python
python定位xpath 节点位置的方法
2019/08/27 Python
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
2020/11/29 Python
python实现图像随机裁剪的示例代码
2020/12/10 Python
vue.js刷新当前页面的实例讲解
2020/12/29 Python
浅谈基于Canvas的手绘风格图形库Rough.js
2018/03/19 HTML / CSS
澳大利亚领先的女帽及配饰公司:Morgan&Taylor
2019/12/01 全球购物
应届生求职信写作技巧
2013/10/24 职场文书
简历中的自我评价范文
2014/02/05 职场文书
机关节能减排实施方案
2014/03/17 职场文书
2014年党支部工作总结
2014/11/13 职场文书
社区植树节活动总结
2015/02/06 职场文书
银行自荐信范文
2015/03/25 职场文书
2015年乡镇扶贫工作总结
2015/04/08 职场文书
写给老师的保证书
2015/05/09 职场文书
JS实现页面炫酷的时钟特效示例
2022/08/14 Javascript