目录结构
一、路由生成
1.复数路由
2.单数路由
二、接口调试
1.过滤(Filter)
2.分页(Paginate)
3.排序(Sort)
4.切片(Slice)
5.运算符(Operators)
6.全局搜索(Full-text search)
7.查看Database
一、路由生成
重新构造db.json数据文件,其内容为:
{
"posts": [
{
"id": 1,
"title": "json-server",
"author": "typicode"
},
{
"id": 2,
"title": "Test002",
"author": "002"
},
{
"id": 3,
"title": "Test003",
"author": "003"
},
{
"id": 4,
"title": "Test004",
"author": "004"
},
{
"id": 5,
"title": "Test005",
"author": {
"name": "005"
}
}
],
"comments": [
{
"id": 1,
"body": "some comment",
"postId": 1
},
{
"id": 2,
"body": "ok",
"postId": 2
}
],
"profile": {
"name": "typicode"
}
}
根据db.json数据文件,JSON Server默认会生成两类路由:
1.复数路由
多条路由,可根据不同请求、不同的id查询or修改
GET /posts/
GET /posts/1
POST /posts/
PUT /posts/1
PATCH /posts/1
DELETE /posts/1
GET /comments/
...
2.单数路由
单条路由,根据不同的请求进行查询or修改
GET /profile/
二、接口调试
1.过滤(Filter)
使用查询字符串参数(Query String Parameters),可查询对应的参数约束的数据
请求方式:GET
/posts?id=1
/posts?id=1&id=3
/posts?title=Test002
指定过滤字段:使用点号.
运算符可查询深层次的属性
GET /posts?author.name=005
2.分页(Paginate)
使用_page
指定页码,_limit
指定返回的数据条数(默认第1页显示10条数据)
# 查询第1页数据
GET /posts?_page=1
# 查询第1页,每页展示2条数据
GET /posts?_page=1&_limit=2
# 查询第2页,每页展示2条数据
GET /posts?_page=2&_limit=2
3.排序(Sort)
_sort
表示排序的字段,_order
表示具体的排序方式,默认为升序asc,降序为desc
# 以id的升序排列
GET /posts?_sort=id&_order=asc
# 以title升序、id降序排列
GET /posts?_sort=title,id&_order=asc,desc
4.分割(Slice)
切片与字符串数组切片类似,可返回指定范围成都的数据内容。数据下标为0,表示第1个数据
_start
:指定记录的起始点,包含起点
_end
:指定记录的终点,不包含终点
_limit
:指定返回的数量
# 从第1个数据开始,到第2个数据为止
GET /posts?_start=0&_end=2
# 从第2个数据开始,返回3个数据
GET /posts?_start=1&_limit=3
5.运算符(Operators)
_gte
:大于等于
_lte
:小于等于
_ne
:不等于
_like
:包含有,模糊匹配(支持正则表达式)
# id∈[1,3]范围之内的数据
GET /posts?id_gte=1&id_lte=3
# id不为1的数据
GET /posts?id_ne=1
# id包含有"json"字符串的数据
GET /posts?title_like=json
6.全局搜索(Full-text search)
使用参数q
GET /posts?q=server
7.查看Database
GET /db
以上,相当于列出db.json中存储的所有数据
参考资料:
[1] npm网站:JSON Server
[2] GitHub项目:json-server
网友评论