使用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 相关文章推荐
js URL参数的拼接方法比较
Feb 15 Javascript
在JavaScript中操作时间之getUTCDate()方法的使用
Jun 10 Javascript
Jquery获取第一个子元素简单实例
Jun 02 Javascript
深入学习jQuery中的data()
Dec 22 Javascript
javascript实现去除HTML标签的方法
Dec 26 Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
May 02 Javascript
js判断数组是否包含某个字符串变量的实例
Nov 24 Javascript
vue项目部署上线遇到的问题及解决方法
Jun 10 Javascript
vue系列之requireJs中引入vue-router的方法
Jul 18 Javascript
JS+php后台实现文件上传功能详解
Mar 02 Javascript
layui table 多行删除(id获取)的方法
Sep 12 Javascript
微信小程序入门之绘制时钟
Oct 22 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
在PHP3中实现SESSION的功能(二)
2006/10/09 PHP
浅析php中常量,变量的作用域和生存周期
2013/08/10 PHP
php 发送带附件邮件示例
2014/01/23 PHP
php查询mssql出现乱码的解决方法
2014/12/29 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
2016/04/11 PHP
Yii2中使用asset压缩js,css文件的方法
2016/11/24 PHP
Extjs学习笔记之八 继承和事件基础
2010/01/08 Javascript
jquery插件制作 图片走廊 gallery
2012/08/17 Javascript
页面只能打开一次Cooike如何实现
2012/12/04 Javascript
Javascript 读取操作Sql中的Xml字段
2014/10/09 Javascript
jquery操作 iframe的方法
2014/12/03 Javascript
js实现键盘Enter键提交表单的方法
2015/05/27 Javascript
Javascript blur与click冲突解决办法
2017/01/09 Javascript
浅析jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法
2017/02/06 Javascript
原生js实现验证码功能
2017/03/16 Javascript
十分钟带你快速了解React16新特性
2017/11/10 Javascript
Vue中的methods、watch、computed的区别
2018/11/26 Javascript
iview form清除校验状态的实现
2019/09/19 Javascript
探究Python中isalnum()方法的使用
2015/05/18 Python
python 表格打印代码实例解析
2019/10/12 Python
django框架cookie和session用法实例详解
2019/12/10 Python
python使用协程实现并发操作的方法详解
2019/12/27 Python
python 异步async库的使用说明
2020/05/04 Python
如何在python中判断变量的类型
2020/07/29 Python
css3实现可滑动跳转的分页插件示例
2014/05/08 HTML / CSS
医疗保健专业人士购物网站:Scrubs & Beyond
2017/02/08 全球购物
介绍一下如何优化MySql
2016/12/20 面试题
大学生的自我鉴定范文
2014/01/21 职场文书
企业办公室岗位职责
2014/03/12 职场文书
小学安全汇报材料
2014/08/14 职场文书
幼儿园小班见习报告
2014/10/31 职场文书
生死牛玉儒观后感
2015/06/11 职场文书
母亲去世追悼词
2015/06/23 职场文书
2016年“我们的节日·清明节”活动总结
2016/04/01 职场文书
Python基础之赋值,浅拷贝,深拷贝的区别
2021/04/30 Python
vue修饰符.capture和.self的区别
2022/04/22 Vue.js