json-server 详解
JSON-Server 是一个 Node 模块,运行 Express 服务器,你可以指定一个 json 文件作为 api 的数据源。
安装json-server
npm install -g json-server
启动 json-server
json-server
可以直接把一个json
文件托管成一个具备全RESTful
风格的API
,并支持跨域、jsonp
、路由订制、数据快照保存等功能的 web 服务器。
db.json文件的内容:
{ "user": [] }
例如以下命令,把db.json
文件托管成一个 web 服务。
json-server --watch db.json --port 5001
输出以下类似内容说明启动成功
PS D:\study\微信小程序\shopping-mall\json> json-server --watch db.json --port 5001 \{^_^}/ hi! Loading db.json Done Resources http://localhost:5001/user Home http://localhost:5001 Type s + enter at any time to create a snapshot of the database Watching... POST /user 201 25.561 ms - 53 POST /user 201 3.771 ms - 53 GET /user 200 4.244 ms - 132 GET /user?id=1 200 3.458 ms - 67 PUT /user/1 200 3.930 ms - 53 DELETE /user/1 200 5.798 ms - 2 DELETE /user/0 404 3.425 ms - 2 DELETE /user/2 200 4.554 ms - 2
此时,你可以打开你的浏览器,然后输入:http://localhost:5001/user
路由
默认的路由
json-server
为提供了GET
,POST
, PUT
, PATCH
,DELETE
等请求的API,分别对应数据中的所有类型的实体。
# 获取所有的用户信息 GET /user # 获取id=1的用户信息 GET /user/1 # 添加课程信息,请求body中必须包含user的属性数据,json-server自动保存,并自动生成对应的唯一id。 POST /user # 修改课程,请求body中必须包含course的属性数据 PUT /course/1 PATCH /course/1 # 删除课程信息 DELETE /course/1
过滤查询
查询数据,可以额外提供
GET /posts?title=json-server&author=typicode
GET /posts?id=1&id=2
# 可以用 . 访问更深层的属性。
GET /comments?author.name=typicode
还可以使用一些判断条件作为过滤查询的辅助。
GET /posts?views_gte=10&views_lte=20
可以用的拼接条件为:
_gte
: 大于等于_lte
: 小于等于_ne
: 不等于_like
: 包含
GET /posts?id_ne=1 GET /posts?id_lte=100 GET /posts?title_like=server
参考地址:https://www.cnblogs.com/fly_dragon/p/9150732.html
github: https://www.npmjs.com/package/json-server