Structure and Records 创建复合数据类型

164 阅读4分钟

使用结构和记录创建复合数据类型

在开发您的应用程序时,您可能会发现让一个变量保存具有不同数据类型的变量集合并在逻辑中使用它很有趣。例如,要分配一个操作返回的值,您不必为每个值创建一个输出。

在 OutSystems 中,您可以使用结构或记录创建结构化值。结构是您可以在模块中使用的自定义数据类型。Record 是为单个变量定义的自定义数据类型,不能在另一个变量中重复使用。

要声明和使用结构:

  1. 在数据层上,右键单击文件夹结构并选择添加结构以添加新结构。
  2. 要添加属性,请右键单击新结构,选择添加结构属性,然后更改属性的属性,例如名称和数据类型。
  3. 创建一个新变量。
  4. 将变量的数据类型设置为您创建的结构。

在跨平台Service Studio中,为一个变量创建一个Record,需要:

  1. 在要使用 Record 的元素中创建一个新变量。

  2. 选择变量并将其数据类型更改为记录...。文本属性添加到变量。

  3. 或者,更改属性的数据类型名称

  4. 在变量上下文菜单中,您可以向记录添加更多属性。

    为变量创建记录

在仅限 Windows 的 Service Studio 中,要为变量创建记录,您需要:

  1. 在要使用 Record 的元素中创建一个新变量。
  2. 选择变量并将其数据类型更改为记录...。
  3. 在弹出窗口中,为记录添加属性并定义属性的数据类型。

使用记录的示例

在我们想要查找和查看感兴趣地点的应用程序中,我们想要使用 REST API 方法返回有关地点的基本信息。要返回的有关每个地点的信息是 ID、名称和平均评分。数据存储在 Place 和 Review 实体中。

由于我们需要分配给输出参数的数据类型将仅在此处使用,因此我们将使用 Record:

  1. 公开一个 REST API,将其命名为 Place 并创建方法 GetPlace。

  2. 将输入参数添加到名为 的 GetPlace 方法 PlaceId。确保数据类型Place Identifier

    放置带有输入参数的 REST API

  3. 要定义 GetPlace 方法的逻辑,请在元素树中双击GetPlace

  4. 将聚合从工具箱拖到操作流中。

  5. 将 Place 和 Review 实体添加到聚合中。

  6. 过滤聚合,确保 Place.Id 属性与 PlaceId 参数匹配。添加过滤条件Place.Id = PlaceId

    GetPlace 方法的逻辑

  7. 在 GetPlace 方法中,添加一个名为 的输出参数PlaceInformation

  8. 将 PlaceInformation数据类型设置为Record ...。文本属性添加到变量。

  9. 将 Text 属性的数据类型更改为Place实体,并将其名称更改为Place

  10. 从 PlaceInformation 上下文菜单中添加一个新属性。

  11. 将属性的数据类型更改为Review实体,将其名称更改为Review

    带记录的输出参数

    您还可以使用建议的数据类型GetPlaceById 记录类型将 PlaceInformation 数据类型设置为复合数据,如步骤 6 至 9 所述。

  12. 在 GetPlace 方法流程中,将聚合的结果分配给输出参数。

    1. 从工具箱中,将 Assign 拖到聚合后。
    2. 通过将Variable设置为PlaceInformation并将Value设置为 来添加赋值GetPlaceById.List.Current

    为输出参数赋值

使用结构的示例

在一个查找和查看景点的应用程序中,我们正在开发一个 REST API 方法来公开有关该应用程序的注册最终用户的基本信息。我们返回的信息是最终用户的 ID、姓名和个人资料图片。

由于我们要在应用程序的另一个操作中重用用户信息,因此我们将创建一个结构来保存此信息,从而允许我们重用数据类型:

  1. 在数据层上,右键单击文件夹 Structures 并添加一个名为UserInfo.

  2. 将以下属性添加到新结构:

    • Id用户标识符类型
    • Name文本类型
    • Photo二进制数据类型

    创建和使用结构化数据

  3. 公开一个名为 User 的 REST API 并创建方法 GetUser。

  4. 添加一个带有要为其返回信息的用户 ID 的输入参数。

  5. 在操作流中,添加一个包含用户和配置文件实体的聚合,并使用用户 ID 输入参数进行筛选。

  6. 添加一个名为 UserInformation 的输出参数,并将 UserInfo 结构指定为其数据类型。

  7. 要将值分配给输出变量,请将 Assign 元素添加到操作并分配从聚合返回的第一个元素。

  8. 由于聚合返回的数据类型与输出变量不同,在Assign节点属性中的赋值下方,将聚合输出的属性映射到输出参数属性。

创建和使用结构化数据