在本教程中,您将了解如何开始使用json-server设置和使用假的rest api服务器,您可以在开发移动或 Web 应用程序时使用它。本教程假设您具备 JSON 和 HTTP 请求的基本知识。
什么是 REST?
REST 代表具象状态转移。它是一种用于设计连接应用程序的架构风格。它使用简单的 HTTP 使机器之间的通信成为可能。因此,REST 不是使用 URL 来操作某些用户信息,而是向 URL 发送 HTTP 请求(如 GET、post、DELETE 等)来操作数据。
例如,不是向像 那样的 URL 发出 GET 请求,而是/deleteuser?id=10
像DELETE /user/10
.
为什么我们需要一个虚假的 REST API?
REST API 构成了移动和 Web 应用程序的后端。在开发应用程序时,有时您不会准备好用于开发目的的 REST API。要查看移动或 Web 应用程序的运行情况,我们需要一个服务器,该服务器会抛出一些虚拟 JSON 数据。
这就是假的 REST API 出现的时候。json-server
提供以最少的工作量设置假 REST API 服务器的功能。
入门
要开始使用json-server
,请使用节点包管理器 (npm) 安装包。
npm install -g json-server
根据您的要求创建一个包含一些数据的虚拟 JSON 文件。例如,我需要一些带有用户信息的 JSON 数据,如 id、姓名、位置等。所以我将创建一个文件info.json
,并使用以下 JSON 信息调用:
{ "users": [{ "id": 1, "name": "roy", "location": "india" }, { "id": 2, "name": "sam", "location": "wales" }] }
从终端运行 json 服务器info.json
作为数据源,您应该在http://localhost:3000运行 REST API 。
json-server info.json
测试 REST API 端点
由于我们的假 REST API 服务器已启动并正在运行,让我们看看如何使用客户端访问 REST API。我正在使用 Postman REST 客户端进行 API 调用。
获取请求
让我们首先GET
向 REST URL 发出请求。在 json 文件中,我们定义了一个端点users
,其中包含与用户相关的信息。在GET
向 URL http://localhost:3000/users发出请求时,它应该显示现有数据。
[ { "id": 1, "name": "roy", "location": "india" }, { "id": 2, "name": "sam", "location": "wales" } ]
POST 请求
为了向现有数据添加新数据,我们将向URL http://localhost:3000/usersPOST
发出请求。这是请求的样子:POST
尝试发出GET
请求,您应该在info.json
文件中包含新添加的数据。
[ { "id": 1, "name": "roy", "location": "india" }, { "id": 2, "name": "sam", "location": "wales" }, { "name": "ii", "location": "la", "id": 7 }, { "name": "Shona", "location": "LA", "id": 8 }, { "name": "Shona", "location": "LA", "id": 9 } ]
删除请求
要从json-server
数据中删除条目,您需要DELETE
使用用户 ID 向 API 端点发送请求。例如,要删除 ID 为 1 的用户,您需要向DELETE
端点http://localhost:3000/users/1发送请求。删除后,尝试执行GET
请求,ID 为 1 的用户不应在返回的 JSON 中。
补丁请求
要更新现有条目,您需要发送一个PATCH
请求,其中包含需要为该特定条目更新的详细信息。例如,为了更新 ID 为 2 的用户的详细信息,我们将向URL http://localhost:3000/users/2PATCH
发送请求, 如下所示:
搜索 json-server REST API
使用json-server
REST API,您可以搜索数据以根据特定条件查找数据。例如,为了查找具有特定名称的用户,您需要向 REST API URL 发送 GET 请求,如下所示:
如上图所示,向 URL http://localhost:3000/users?name=Shona发送 GET 请求 将返回具有 name 的用户Shona
。同样,要搜索具有任何其他字段的用户,您需要将该字段添加到查询字符串中。
为了跨 REST API 端点执行全文搜索,您需要将搜索字符串与参数一起添加到端点q
。例如,为了使用包含搜索字符串s
的信息搜索用户,请求将如下所示:
处理分页
在显示分页数据网格时,需要根据分页获取一些数据。在这样的场景ios中,json-server
提供了对 JSON 数据进行分页的功能。默认情况下,返回的数据计数json-server
为 10。我们可以使用_limit
参数显式定义此限制。
http://localhost:3000/users?_limit=5
对上述 URL 的 GET 请求将返回 5 条记录。现在,要对数据进行分页,我们需要向 _page
URL 添加另一个参数。_page
定义返回数据时需要获取的页面。
http://localhost:3000/users?_limit=5&_page=2
对上述 URL 的 GET 请求将返回数据集的第二页,每页有 5 条记录。通过更改_page
变量,我们可以获取所需的页面记录。
处理排序
json-server
提供对检索到的数据进行排序的功能。我们可以通过提供需要排序的列名和数据需要排序的顺序来对数据进行排序。默认情况下,数据按升序排序。我们可以使用关键字在端点 URL 中提供列名,并使用关键字_sort
定义顺序_order
。这是一个示例网址:
http://localhost:3000/users?_sort=id&_order=DESC
上面的 URL 将根据 column 对数据Id
进行排序,并按降序排序。
处理运算符
json-server
还提供支持运算符的功能,例如查找 Id 在两个值之间的范围内的条目或匹配特定正则表达式的条目。
为了在特定范围内查找条目,我们可以使用_gte
and_lte
运算符。例如,要查找 ID 大于 1 且小于 2 的用户,请向 URL http://localhost:3000/users?id_gte=1&id_lte=2发出 GET 请求, 如下所示:
如果我们想搜索以某个字母开头的名字,我们可以使用正则表达式。例如,要搜索以字母开头的名称sa
,我们将使用_like
运算符并向GET
URL http://localhost:3000/users?name_like=^sa发出请求。
结论
在本教程中,您了解了如何使用json-server
REST API 创建一个虚拟数据库以供快速使用。您学习了如何开始使用json-server
和查询 URL 来添加、更新、修改和删除数据。您了解了如何对虚拟数据进行分页、排序和搜索。您还了解了如何使用运算符来使用正则表达式搜索条目。
- 获取请求
- POST 请求
- 删除请求
- 补丁请求