为什么我们需要GET blocks ,以及它们是如何工作的?
当你开发一个前端时,你将不可避免地需要在后端运行不同的BPs。为了运行一个BP,你需要调用它的端点。要做到这一点,AppMaster为每个端点创建一个服务器请求块。这些块具有与相关端点 相同的输入和输出字段,并作为启动它的一种方式。
GET 块,根据REST API的原则,必须检索一些数据。最常见的是,GET 块从数据库中的模型检索数据(全部,或按某些标准)。
像所有的服务器请求块一样,每个GET 块被绑定到它自己的端点。端点的Url显示在块的名称中。
请记住,AppMaster 会自动生成基本端点。但是你也可以为它们创建你的BPs和端点,以及你的服务器请求块。
块的输入和输出字段GET block
输入
- Endpoint ID- 决定了该块应该访问哪个端点。这个字段是自动设置的。
- _offset- 允许指定块从哪个记录中接收信息;整数格式。
- _limit- 区块加载的记录数。默认为25,每次最大为500;整数格式。
- _sort_order- 这个字段有两个合适的值:asc - 直接排序和 desc - 反向排序;字符串格式。
- _sort_by- 定义列表将按照数据模型的哪个字段进行排序;字符串格式。
- Ids- 记录ID的列表。允许通过特定的id获取记录;数组整数格式。
- _search- 在数据模型中搜索一个给定的值;字符串格式。
- _search_exact- 启用/禁用精确匹配搜索;布尔格式。
- _ search_in- 按特定字段搜索;数组字符串格式。
让我们仔细看一下与搜索相关的字段。
_search- 搜索整个数据模型中的匹配项,无论数值位于哪个字段,都会找到它们。
例如,让我们把_search字段设置为John。如果在数据模型中,对于一条记录,名字字段的值是John,而对于另一条记录,电子邮件字段的值是[email protected],那么搜索将找到这两条记录。
_search_exact- 启用这个字段意味着结果将包括完全匹配查询的记录。
请求 | _search_exact | 搜索结果 |
John | False | John, Johny, [email protected] |
John | True | John |
_search_in- 在这里,你可以设置应该进行搜索的字段。例如,如果我们想只按姓名搜索,而不考虑姓名是电子邮件的一部分的情况,我们可以使用_search_in,只按姓名字段搜索。
搜索数据模型字段
这些字段是用来通过数据模型进行搜索的。它们与搜索字段的主要区别是,它们可以接受不同的值,而不像搜索那样只接受字符串格式。
输出
- _success- 搜索结果;布尔格式。
- _httpcode- 请求响应代码;整数格式。
- _error- 错误文本;字符串格式。
- Data- 收到的记录;数组模型格式。
- Count- 收到的条目数;整数格式。
该 _with字段
它出现在那些请求转到相关数据模型的块中。它允许你从发出请求的数据模型和与之相关的数据模型中获取数据。
让我们看一下 _with字段,该字段存储了一个书籍和它们的类别的列表。
创建两个数据模型。 book和 category.在 book我们添加 book_name字段,而在 category中,我们添加了 category_name字段。
在它们之间建立一个连接。让我们把它从类别画到书,并把关系的类型设置为 has_many因为一个类别可以指代不同的书。
在网络应用标签下,设置数据加载到书和类别表中,并向这些表中添加记录。链接数据目前没有在表中显示。为了解决这个问题,需要使用 _with字段是必要的。
将这个字段设置在 Get block为每个表设置。
现在让我们打开我们的应用程序,确保查询正在运行,正确的数据出现在表中。