使用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 相关文章推荐
JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
Feb 27 Javascript
iframe窗口高度自适应的又一个巧妙实现思路
Apr 04 Javascript
Javascript实现的常用算法(如冒泡、快速、鸽巢、奇偶等)
Apr 29 Javascript
js设置控件的隐藏与显示的两种方法
Aug 21 Javascript
node.js中的fs.appendFileSync方法使用说明
Dec 17 Javascript
Javascript中replace()小结
Sep 30 Javascript
基于jQuery实现左右图片轮播(原理通用)
Dec 24 Javascript
javascript基础练习之翻转字符串与回文
Feb 20 Javascript
JavaScript数据结构学习之数组、栈与队列
May 02 Javascript
jQuery动态添加.active 实现导航效果代码思路详解
Aug 29 jQuery
使用axios发送post请求,将JSON数据改为form类型的示例
Oct 31 Javascript
JS实现4位随机验证码
Oct 19 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
动画 《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
如何过滤高亮显示非法字符
2006/10/09 PHP
php session应用实例 登录验证
2009/03/16 PHP
PHP常用技巧总结(附函数代码)
2012/02/04 PHP
php在linux下检测mysql同步状态的方法
2015/01/15 PHP
php实现的mongodb操作类实例
2015/04/03 PHP
解决nginx不支持thinkphp中pathinfo的问题
2015/07/21 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
2017/05/24 PHP
node.js中的fs.fsyncSync方法使用说明
2014/12/15 Javascript
jquery中checkbox使用方法简单实例演示
2015/11/24 Javascript
AngularJS 表达式详解及实例代码
2016/09/14 Javascript
js转html实体的方法
2016/09/27 Javascript
js模态对话框使用方法详解
2017/02/16 Javascript
写jQuery插件时的注意点
2017/02/20 Javascript
vue.js使用代理和使用Nginx来解决跨域的问题
2018/02/03 Javascript
webpack4 css打包压缩问题的解决
2018/05/18 Javascript
基于Vue el-autocomplete 实现类似百度搜索框功能
2019/10/25 Javascript
Python列表append和+的区别浅析
2015/02/02 Python
python 性能优化方法小结
2017/03/31 Python
django 使用全局搜索功能的实例详解
2019/07/18 Python
python matplotlib 绘图 和 dpi对应关系详解
2020/03/14 Python
使用matlab 判断两个矩阵是否相等的实例
2020/05/11 Python
Python的信号库Blinker用法详解
2020/12/31 Python
CSS3 mask 遮罩的具体使用方法
2017/11/03 HTML / CSS
html5仿支付宝密码框的实现代码
2017/09/06 HTML / CSS
Discard Protocol抛弃协议的作用是什么
2015/10/10 面试题
单位实习证明怎么写
2014/01/17 职场文书
《这儿真好》教学反思
2014/02/22 职场文书
村当支部个人对照检查材料思想汇报
2014/10/06 职场文书
公司租房协议书范本
2014/10/08 职场文书
民政局离婚协议书范本
2014/10/20 职场文书
爱情保证书
2015/01/17 职场文书
世界卫生日宣传活动总结
2015/02/09 职场文书
前台岗位职责范本
2015/04/16 职场文书
pytorch 实现变分自动编码器的操作
2021/05/24 Python
剧场版《转生恶役只好拔除破灭旗标》公开最新视觉图 2023年上映
2022/04/02 日漫