Another RayJune

json-server使用指南

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

Come on :>

首先要新建一个项目并初始化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": "薛瑞君",
"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分,于又玄图书馆

原始链接:http://rayjune.xyz/2017/06/23/json-server-guide/

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