Another RayJune

json-server 使用指南

30s 无脑搭建基于 node.js 的、具有增删改查(甚至包括排序)的 Restful-API 。

首先要新建一个项目并初始化 npm,你可以这样写:

1
npm init -y

然后就可以愉快的安装上我们的 json-server 了

1
npm i json-server --save

新建一个 server 目录(为了更清晰,此时的位置在你的项目根目录中)

1
2
mkdir server
touch db.json

然后就在 db.json 中尽情的写入你想写入数据库的数据 / 数据结构等等把,比如我可以这样写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
{
"library": [
{
"title": " 又玄图书馆 ",
"librarian": " 江向东 ",
"position": " 福建师范大学旗山校区 ",
"email": "youxuan@libray.com",
"website": "youxuan.fjnu.edu.cn",
"wechat": "iYouXuan"
}
],
"user": [
{
"name": "RayJune",
"number": 20,
"level": "VIP 用户 ",
"id": 10000
},
{
"name": "Liga",
"number": 20,
"level": "VIP 用户 ",
"id": 10001
},
{
"name": "ray",
"number": 10,
"level": " 普通用户 ",
"id": 10002
}
]
}

最后在 /server 目录执行

1
json-server db.json -w -p 3000

当然你也可以执行以下的简单版代码,只不过上面的可以增加实时监控修改功能

1
json-server db.json

现在打开浏览器,访问网址 http://localhost:3000

来开始我们的工作流,我们可以把这两个指令写入 package.json 的 scripts 中,来节约我们的脑细胞:

1
2
3
4
5
6
"scripts": {

"server": "cd server && json-server db.json -w -p 3000",

"dev": "roadhog server"
}

我们在 db.json 文件中写入了标准的 JSON 格式数据,这个 json 里有一个 user 数组和一个 library 数组,这就告诉 json-server,我们的数据库里有一个名为 user 的” 表” 和一个名为 library 的” 表”,并且表里的数据为 xxx,然后 json-server 就会启动服务器,并且以每个” 表” 为单位为我们注册一系列标准的 RESTFull 形式的 API 接口(路由),以 user 为例:

  • [GET] /user #获取用户列表的接口
  • [GET] /user/:id #获取单个用户的接口
  • [POST] /user #新增用户的接口
  • [PUT] /user/:id #修改用户的接口
  • [DELETE] /user/:id #删除用户的接口

    在获取列表的接口中也可以追加查询参数,来限定查询的结果,比如:

查询所有男性用户: /user?gender=male
查询年龄大于等于 20 并且小于等于 29 的用户:/user?age_gte=20&age_lte=29
此外还有分页、排序、匹配、关系查询等查询方式,可以在 json-server 的官方文档中查看更多。

注意:

每次更新你的 db.json 必须要执行一次 json-server db.json,来更新 json-server 生成的数据库。

参考文章:

React 全家桶入门之二 项目搭建
30 秒搭建一个 Restful 服务器(严肃脸)
json-server 的 github 文档

文章标题:json-server 使用指南

文章作者:RayJune

时间地点:晚 9:06 分,于又玄图书馆

原始链接:https://www.rayjune.me/2017/06/23/json-server-guide/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。