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 窗口,如下图:

39 jsonserver data.png

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

40 jsonserver data.png

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

json-server --watch db.json

启动成功,如下图所示:

41 jsonserver data.png

Json-Server排序查询详解

说明

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

语法

GET host:port/key?_sort=keyword&_order=asc|desc

参数

参数 描述
GET Json-Server 所有的查询都是使用 GET 请求的方式。
host Json-Server 所在的服务器的地址。
port Json-Server 所使用的端口。
key Json-Server 要查询的 key。
_sort 要排序的字段。
_order 升序排序还是降序排序,asc 升序排序,desc 降序排序。

案例

排序查询JavaScript模块,按id倒叙排序

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

42 jsonserver get请求.png

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

43 jsonserver get查询.png

我们看到,我们排序查询了 JavaScript 模块,按 id 倒叙排序输出了结果。

多个字段排序

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

44 jsonserver get请求.png

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

45 jsonserver get查询.png

我们看到,我们排序查询了 Server 模块,将结果先按照 author 字段升序排序,再按照 category 字段倒叙排序。

Json-Server排序查询总结

Json-Server 的 GET 请求支持 普通查询、 过滤查询、条件查询、分页查询、排序查询、任意切片查询 、全文检索 和 子节点查询。 排序查询 JavaScript 模块,按 id 倒叙排序:

GET localhost:3000/JavaScript?_sort=id&_order=desc

多个字段排序:

GET localhost:3000/Server?_sort=author,category&_order=asc,desc