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

54 jsonserver data.png

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

55 jsonserver data.png

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

json-server --watch db.json

启动成功,如下图所示:

56 jsonserver data.png

Json-Server全文检索详解

说明

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

语法

GET host:port/key?q=value

参数

参数 描述
GET Json-Server 所有的查询都是使用 GET 请求的方式。
host Json-Server 所在的服务器的地址。
port Json-Server 所使用的端口。
key Json-Server 要查询的 key。
q 要全文检索的内容,注意这里的 q 没有下划线。

案例

全文检索Server模块,返回包含HaiCoder3的数据

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

57 jsonserver get请求.png

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

58 jsonserver get查询.png

我们看到,我们全文检索了 JavaScript 模块,返回了包含 HaiCoder3 的所有的数据。

全文检索Server模块,返回包含Doc的数据

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

59 jsonserver get请求.png

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

60 jsonserver get查询.png

我们看到,我们全文检索了 Server 模块,返回了包含 Doc 的所有的数据,这里的 Doc 是模糊匹配。

Json-Server全文检索总结

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

GET localhost:3000/Server?q=HaiCoder3

全文检索 Server 模块,返回包含 Doc 的数据:

GET localhost:3000/Server?q=Doc