[PPJ_22] JSON Server接口调试(过滤、分页、排序、分割、运算符、全局搜索)

目录结构

一、路由生成
    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"
  }
}
[PPJ_22] JSON Server接口调试(过滤、分页、排序、分割、运算符、全局搜索)_第1张图片

根据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
[PPJ_22] JSON Server接口调试(过滤、分页、排序、分割、运算符、全局搜索)_第2张图片

指定过滤字段:使用点号.运算符可查询深层次的属性

GET /posts?author.name=005
[PPJ_22] JSON Server接口调试(过滤、分页、排序、分割、运算符、全局搜索)_第3张图片

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
[PPJ_22] JSON Server接口调试(过滤、分页、排序、分割、运算符、全局搜索)_第4张图片

3.排序(Sort)

_sort 表示排序的字段,_order 表示具体的排序方式,默认为升序asc,降序为desc

# 以id的升序排列
GET /posts?_sort=id&_order=asc
# 以title升序、id降序排列
GET /posts?_sort=title,id&_order=asc,desc
[PPJ_22] JSON Server接口调试(过滤、分页、排序、分割、运算符、全局搜索)_第5张图片

4.分割(Slice)

切片与字符串数组切片类似,可返回指定范围成都的数据内容。数据下标为0,表示第1个数据
_start :指定记录的起始点,包含起点
_end :指定记录的终点,不包含终点
_limit :指定返回的数量

# 从第1个数据开始,到第2个数据为止
GET /posts?_start=0&_end=2
# 从第2个数据开始,返回3个数据
GET /posts?_start=1&_limit=3
[PPJ_22] JSON Server接口调试(过滤、分页、排序、分割、运算符、全局搜索)_第6张图片

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
[PPJ_22] JSON Server接口调试(过滤、分页、排序、分割、运算符、全局搜索)_第7张图片
[PPJ_22] JSON Server接口调试(过滤、分页、排序、分割、运算符、全局搜索)_第8张图片

6.全局搜索(Full-text search)

使用参数q

GET /posts?q=server
[PPJ_22] JSON Server接口调试(过滤、分页、排序、分割、运算符、全局搜索)_第9张图片

7.查看Database

GET /db
[PPJ_22] JSON Server接口调试(过滤、分页、排序、分割、运算符、全局搜索)_第10张图片

以上,相当于列出db.json中存储的所有数据


参考资料:
[1] npm网站:JSON Server
[2] GitHub项目:json-server

你可能感兴趣的:([PPJ_22] JSON Server接口调试(过滤、分页、排序、分割、运算符、全局搜索))