为什么我们需要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为每个表设置。

现在让我们打开我们的应用程序,确保查询正在运行,正确的数据出现在表中。

Was this article helpful?

AppMaster.io 101 速成班

10 模块
2 周数

不知道从哪里开始?通过我们的初学者速成课程,从A到Z探索AppMaster。

开始课程
Development it’s so easy with AppMaster!

需要更多帮助?

在我们专家的帮助下解决任何问题。节省时间并专注于构建您的应用程序。

headphones

联系支持

告诉我们您的问题,我们会为您找到解决方案。

message

社区聊天

在我们的聊天中与其他用户讨论问题。

加入社区