先安装 node.js.

全局安装 json-server:

npm install json-server -g

检查是否安装成功:

json-server -h

安装好后,json-server的文件目录为:

配置 json-server:

{
"host": "0.0.0.0",
"port": "3000",
"watch": true,
"delay": 500,
"quiet": true,
"routes": "./routes.json"
}

在 node 目录下新建一个目录叫 db.在这个目录下新一个 employees.json 文件,并写入内容

{
"employees": [
{
"id": 1,
"first_name": "Sebastian",
"last_name": "Eschweiler",
"email": "sebastian@codingthesmartway.com"
},
{
"id": 2,
"first_name": "Steve",
"last_name": "Palmer",
"email": "steve@codingthesmartway.com"
},
{
"id": 3,
"first_name": "Ann",
"last_name": "Smith",
"email": "ann@codingthesmartway.com"
}
]
}

并在 db/目录下,再创建一个 package.json 文件。安装包管理器,以后安装的其它包,都会有安装信息在这里显示

{
"scripts": {
"server": "json-server db.json --port 3000",
"mock": "json-server db.js",
"start": "cd server && node ./index.js",
"postcss": "postcss ./static/src/css.scss -o ./static/dist/css.css -u autoprefixer"
},
"dependencies": {},
"devDependencies": {
"autoprefixer": "^9.1.5",
"faker": "^4.1.0",
"lodash": "^4.17.11",
"postcss": "^7.0.4",
"postcss-px2units": "^0.2.0",
"postcss-pxtorem": "^4.0.1"
}
}

浏览器中查看某个json数据的方法:

  1. 进入这个json数据表的目录  比如:D:\code\node\db\data   后,再启动查看这个目录下的json数据表的对象名称:  json-server --watch user.json
  2. 在  routes.json 中配置 user.json 这个数据表的 浏览器访问路径 :  “/ 浏览器访问路径 /”:“/ 数据表真实路径 /”
  3. 在浏览器中输入 http://localhost:3000/ + routes.json 中的访问路径   http://localhost:3000/user/

如果更改了 json 需要重启 json-server,启动监控

json-server --watch db.json (  默认端口号 3000  )
// 默认端口是在 json-server.json 文件中已经配置好的,查看上面

如果没有出现错误,终端会显示这个

例子:在浏览器中看到刚刚建立的json文件,访问employees时,在浏览器中的URL地址为:

http://localhost:3000/employees   (employees为json文件中的对象,而不是 json 文件名称)

如果要预览某个json数据,需要进入到这个json所在的当前目录,再输入命令:

D:\code\node\db\data>json-server --watch db.json

如果新建了其它json,比如user.json,如果想查询它的数据,需要对user.json重新监听:

D:\code\node\db\data>json-server --watch user.json
JSON server 的几种 GET:
  • GET /employees
  • GET /employees/{id}
  • POST /employees
  • PUT /employees/{id}
  • PATCH /employees/{id}
  • DELETE /employees/{id}

根据 id 查询:支持在url上添加参数来进行查询的,比如要查询 id=2 的数据

http://localhost:3000/employees?id=2

 全文查询:符合某个条件的查询,比如要查询某个数据文件中包含aa的数据

http://localhost:3000/user?q=aa

根据 名称 升序查询:排序查询:?_sort=first_name

http://localhost:3000/user?_sort=first_name

根据条件全文筛选查询:?first_name_like=aa

http://localhost:3000/user?first_name_like=aa

 排除某些条件进行查询:?last_name_ne=Smith

对 last_name 中,凡是值为 Smith 的数据都排除掉
http://localhost:3000/user?last_name_ne=Smith

 从某一个范围开始查询  ?id_gte=10

比如从第 10 条数据开始搜索
http://localhost:3000/user?id_gte=10

JSON server 路由:

  • 默认是按照db.json文档结构来访问的,当然你也可以使用--routes命令添加自定义的路由。
  • 需要创建一个routes.json文件,然后重新定义规则。
/// 浏览器访问路径 /”:“/ 数据表真实路径 /”
{
"/api/": "/",
"/user/": "/data/user/",
"/employees/":"/data/employees/"
}

比如要查询user.json 的数据,可以在浏览器中输入:

http://localhost:3000/user/

重新定义了路由的规则,需要重启 json-server

json-server --watch --routes routes.json

如果重启成功,会显示

如果在重启路由的时候,在命令行里输入了 db.json 文件,那么会先找 db.json ,然后再根据这个文件来找对应的 routes.json .
由于我的 db.json 文件 与 routes.json 文件不在同一目录下,因此会报错,说在 db.json下找不到 routes.json,因此,我们只需要在 json-server 下重启 routes.json 就可以了
正确的命令,先启动路由
json-server --watch --routes routes.json
再启动要监听的 user.json
json-server --watch user.json
错误的命令: json-server db.json --routes routes.json

以上,欢迎探讨。

json-sever 配置与应用的更多相关文章

  1. 让EFCore更疯狂些的扩展类库(一):通过json文件配置sql语句

    前言 EF通过linq和各种扩展方法,再加上实体模型,编写数据库的访问代码确实是优美.舒服,但是生成的sql不尽如意.性能低下,尤其是复杂些的逻辑关系,最终大家还是会回归自然,选择能够友好执行sql语 ...

  2. .NetCore获取json文件配置内容

    .netcore中的数据配置及内容用了json文件代替了之前framework的xml文件,那么json中的数据该怎么获取呢?下面讲解json文件在.net core中的获取方法. 首先,新建一个.n ...

  3. 【ASP.NET Core快速入门】(五)命令行配置、Json文件配置、Bind读取配置到C#实例、在Core Mvc中使用Options

    命令行配置 我们通过vs2017创建一个控制台项目CommandLineSample 可以看到现在项目以来的是dotnet core framework 我们需要吧asp.net core引用进来,我 ...

  4. package.json的配置理解

    一.初步理解 1. npm安装package.json时  直接转到当前项目目录下用命令npm install 或npm install --save-dev安装即可,自动将package.json中 ...

  5. 菜鸟入门【ASP.NET Core】5:命令行配置、Json文件配置、Bind读取配置到C#实例、在Core Mvc中使用Options

      命令行配置 我们通过vs2017创建一个控制台项目CommandLineSample 可以看到现在项目以来的是dotnet core framework 我们需要吧asp.net core引用进来 ...

  6. 小程序学习一 .json 文件配置

    微信小程序——配置 以下就是小编对小程序配置的资料进行的系统的整理,希望能对开发者有帮助. 我们使用app.json文件来对微信小程序进行全局配置,决定页面文件的路径.窗口表现.设置网络超时时间.设置 ...

  7. 微信小程序:wx.navigateTo中url无法跳转问题(app.json中配置的tabBar与wx.navigateTo中url引用相同页面导致)

    今天在做微信小程序时,设置wx.navigateTo页面跳转并传参数,点击始终没有效果,代码如下: //事件处理函数 newsDetail: function (event) { console.lo ...

  8. autofac JSON文件配置

    autofac是比较简单易用的IOC容器.下面我们展示如何通过json配置文件,来进行控制反转. 需要用到以下程序集.可以通过nugget分别安装 Microsoft.Extensions.Confi ...

  9. 微信小程序自学第一课:工程目录结构与.json文件配置

    注册成为开发者 地址: https://mp.weixin.qq.com/cgi-bin/wx 开发者工具下载地址 https://mp.weixin.qq.com/debug/wxadoc/dev/ ...

  10. FlashChart json数据配置 中文文档

    http://www.riaos.com/ria/2274 FlashChart json数据配置说明 有朋友要用flashchart,感觉这个还不错.就整理了一份文档. 基本包括了所有json配置的 ...

随机推荐

  1. 深入理解令牌认证机制(token)

    以前的开发模式是以MVC为主,但是随着互联网行业快速的发展逐渐的演变成了前后端分离,若项目中需要做登录的话,那么token成为前后端唯一的一个凭证. token即标志.记号的意思,在IT领域也叫作令牌 ...

  2. 入门rocketmq从浅到深

    目录 一.引言 二.介绍 三.Rocketmq关键概念 1.主题与标签 2.发送与订阅群组 3.Broker与NameServer 4.广播消费与集群消费 5.消息队列 6.集群方式 7.顺序消息 8 ...

  3. 免费开源ERP-成功案例分析(1)

    Odoo用户案例 Odoo用户概要 关于Odoo全球的用户,我们来看一些数据: Odoo目前全球有300万使用者 Odoo系统上每天新创建的数据库超过1000个 Odoo和Word.Excel.Pow ...

  4. SQLite 的 EXISTS 与 NOT EXISTS

    话不多说先来看看表结构: 显而易见 Pid 存放的 Person 的 id :下面重点(奇葩需求!!!!) 我需要向表一(Person)里插入几条数据(...)这时候不会对表二做任何操作. 需求:查询 ...

  5. 理解Device Tree Usage(续)

    4 How Interrupts work   与遵循树的自然结构的地址范围转换不同, 中断信号可以起源于或者终止于板卡上的任何设备. 与设备树中自然表示的设备寻址不同,中断信号的表示独立于设备树节点 ...

  6. Iterm2/Mac自带终端工具快速进入你想进入的虚拟机教程

    一.首先我们在终端本地要写一个登录的脚本,eg: 当然首先要touch login.sh 啦,下面就是脚本文件,比较low,大神勿喷,会更炫酷写法的小伙伴可以自己参考这个思路写,不会的直接复制就好啦 ...

  7. MIP开发教程(三) 使用MIP-CLI工具调试组件

    一 . 在 mip-extensions 仓库中创建新的组件 二 . 预览调试组件 三 . 在 MIP 页中引用自己编写的 MIP 组件 四 . 组件提交到 GitHub 仓库时需要进行校验 站长开发 ...

  8. Java 开发常用工具

    编译器 IDEA (个人觉得IDEA比较好用) Eclipse MyEclipse IDEA插件 Lombok: 使用注解,免去实体类中get /set/构造器等代码 ,需要引入lombok包 Ali ...

  9. 每日分享!介绍Css 盒模型!

    如何定义盒模型: 在CSS盒子模型理论中,页面中所有的元素都是看成一个盒子,并且还占据一定的空间. 一个页面是由很多这样的盒子组成的.这些盒子之间都会相会影响,因此我们掌握CSS盒模型相当重要.需要理 ...

  10. 中缀表达式得到后缀表达式(c++、python实现)

    将中缀表达式转换为后缀表达式的算法思想如下: 从左往右开始扫描中缀表达式 遇到数字加入到后缀表达式 遇到运算符时: 1.若为‘(’,入栈 2.若为’)‘,把栈中的运算符依次加入后缀表达式,直到出现'( ...