使用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 null和undefined区别分析
Oct 14 Javascript
js 获取后台的字段 改变 checkbox的被选中的状态 代码
Jun 05 Javascript
JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)
Oct 17 Javascript
jQuery实现Flash效果上下翻动的中英文导航菜单代码
Sep 22 Javascript
详解JavaScript时间格式化
Dec 23 Javascript
Vue.js第四天学习笔记(组件)
Dec 02 Javascript
使用JavaScript开发跨平台的桌面应用详解
Jul 27 Javascript
vue中使用iview自定义验证关键词输入框问题及解决方法
Mar 26 Javascript
简述vue状态管理模式之vuex
Aug 29 Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
Apr 10 Javascript
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
Apr 28 Javascript
微信小程序地图绘制线段并且测量(实例代码)
Jan 02 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 程序员也要学会使用“异常”
2009/06/16 PHP
php二维数组转成字符串示例
2014/02/17 PHP
laravel接管Dingo-api和默认的错误处理方式
2019/10/25 PHP
PHP大文件分割分片上传实现代码
2020/12/09 PHP
Javascript的IE和Firefox兼容性汇编(zz)
2007/02/02 Javascript
用javascript实现给图片加链接
2007/08/15 Javascript
js 变量类型转换常用函数与代码[比较全]
2009/12/01 Javascript
替代window.event.srcElement效果的可兼容性的函数
2009/12/18 Javascript
Jquery插件 easyUI属性汇总
2011/01/19 Javascript
javascript中简单的进制转换代码实例
2013/10/26 Javascript
超简单JS二级、多级联动的简单实例
2014/02/18 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
jQuery展示表格点击变色、全选、删除
2017/01/05 Javascript
一次记住JavaScript的6个正则表达式方法
2018/02/22 Javascript
JS实现获取word文档内容并输出显示到html页面示例
2018/06/23 Javascript
详解vue.js下引入百度地图jsApi的两种方法
2018/07/27 Javascript
微信小程序实现分享朋友圈的图片功能示例
2019/01/18 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
2019/06/11 Javascript
微信小程序停止其他视频播放当前视频的实例代码
2019/12/25 Javascript
JS使用for in有序获取对象数据
2020/05/19 Javascript
[02:26]2018DOTA2亚洲邀请赛赛前采访-Newbee篇
2018/04/03 DOTA
在java中如何定义一个抽象属性示例详解
2017/08/18 Python
python画一个玫瑰和一个爱心
2020/08/18 Python
python在新的图片窗口显示图片(图像)的方法
2019/07/11 Python
Python基于httpx模块实现发送请求
2020/07/07 Python
一款利用纯css3实现的超炫3D表单的实例教程
2014/12/01 HTML / CSS
HTML+CSS+JavaScript实现图片3D展览的示例代码
2020/10/12 HTML / CSS
亚洲颇具影响力的男性在线购物零售商:His
2019/11/24 全球购物
中餐厅主管的职责范文
2014/02/04 职场文书
期中考试后的反思
2014/02/08 职场文书
食品业务员岗位职责
2014/03/18 职场文书
大学生社团活动总结
2014/04/26 职场文书
暑期学习心得体会
2014/09/02 职场文书
奥巴马上海演讲稿
2014/09/10 职场文书
法人代表证明书格式
2014/10/01 职场文书
25句企业管理语录:助你迅速打开思路,句句经典!
2020/01/14 职场文书