Json-Server过滤查询

Json-Server过滤查询教程

Json-Server 的 GET 请求支持 普通查询、 过滤查询、条件查询、分页查询、排序查询、任意切片查询 、全文检索 和 子节点查询。

Json-Server数据准备

首先,我们在 E:\workspace 目录,创建一个 db.json 文件,输入以下内容:

{ "JavaScript":[ { "id": 1, "category":"ES6", "author": { "name":"HaiCoder5", "isAdmin":1 }, "website": { "name":"嗨客网", "url":"http://www.haicoder.net" } }, { "id": 2, "category":"Vue", "author": { "name":"HaiCoder1", "isAdmin":1 } } ], "Server":[ { "id": 1, "category":"Docker", "author": { "name":"HaiCoder3", "isAdmin":1 }, "website": { "name":"嗨客网", "url":"http://www.haicoder.net" } }, { "id": 2, "category":"Golang", "author": { "name":"HaiCoder2", "isAdmin":1 }, "website": { "name":"嗨客网", "url":"http://www.haicoder.net" } }, { "id": 3, "category":"Python", "author": { "name":"HaiCoder2", "isAdmin":1 } } ] }

接着,我们在该目录的地址栏,输入 cmd,打开 cmd 窗口,如下图:

10 jsonserver data.png

输入 cmd 之后,直接回车,即可在此目录打开命令行,如下图所示:

11 jsonserver data.png

我们在命令行,输入以下命令,启动 json-server:

json-server --watch db.json

启动成功,如下图所示:

12 jsonserver data.png

Json-Server过滤查询详解

说明

这里所有的测试我们都使用 Postman 来发送 HTTP 请求,更多有关 Postman 的教程,请参考 Postman教程

语法

GET host:port/key?keyword=value&keyword1.key2=value1

参数

参数 描述
GET Json-Server 所有的查询都是使用 GET 请求的方式。
host Json-Server 所在的服务器的地址。
port Json-Server 所使用的端口。
key Json-Server 要查询的 key。
keyword 要查询的关键字。
value 关键字的值。
过滤条件 还可以使用 . 来访问更深层次的属性,key2 是 keyword1 下面的子属性。

案例

查询Server模块下,category为Docker的数据

打开 Postman,在 URL 输入框里面输入 localhost:3000/Server?category=Docker,请求方法选择 GET,如下图所示:

13 jsonserver get请求.png

点击 Send 按钮,向 Json-Server 发送请求,请求成功后,Json-Server 返回如下图所示:

14 jsonserver get查询.png

我们看到,我们查询了 Server 模块下 category 为 Docker 的数据。

查询Server模块下,category为Golang的数据

打开 Postman,在 URL 输入框里面输入 localhost:3000/Server?category=Golang,请求方法选择 GET,如下图所示:

15 jsonserver get请求.png

点击 Send 按钮,向 Json-Server 发送请求,请求成功后,Json-Server 返回如下图所示:

16 jsonserver get查询.png

我们看到,我们查询了 Server 模块下 category 字段 为 Golang 的所有的信息。

查询JavaScript模块下,id为1并且 category为ES6的数据

打开 Postman,在 URL 输入框里面输入 localhost:3000/JavaScript?id=1&category=ES6,请求方法选择 GET,如下图所示:

17 jsonserver get请求.png

点击 Send 按钮,向 Json-Server 发送请求,请求成功后,Json-Server 返回如下图所示:

18 jsonserver get查询.png

我们看到,我们查询了 JavaScript 模块下,id 为 1 并且 category 为 ES6 的数据。

查询Server模块下,author的name属性为HaiCoder3的数据

打开 Postman,在 URL 输入框里面输入 localhost:3000/Server?author.name=HaiCoder3,请求方法选择 GET,如下图所示:

19 jsonserver get请求.png

点击 Send 按钮,向 Json-Server 发送请求,请求成功后,Json-Server 返回如下图所示:

20 jsonserver get查询.png

我们看到,我们查询了 Server 模块下,author 的 name 属性为 HaiCoder3 的数据。

Json-Server过滤查询总结

Json-Server 的 GET 请求支持 普通查询、 过滤查询、条件查询、分页查询、排序查询、任意切片查询 、全文检索 和 子节点查询。 查询 Server 模块下,category 为 Docker 的数据:

GET localhost:3000/Server?category=Docker

查询 Server 模块下,category 为 Golang 的数据:

GET localhost:3000/Server?category=Golang

查询 JavaScript 模块下,id 为 1 并且 category 为 ES6 的数据:

GET localhost:3000/JavaScript?id=1&category=ES6

查询 Server 模块下,author 的 name 属性为 HaiCoder3 的数据:

GET localhost:3000/Server?author.name=HaiCoder3