在基于核心组件的表单的可视规则编辑器中使用调用服务

自适应表单中的可视化规则编辑器支持​ 调用服务 ​功能,该功能允许您从为您的实例配置的表单数据模型(FDM)列表中选择服务。 您可以将表单字段直接映射到服务的输入参数。 要将表单字段映射到输出参数,请使用指定表单数据模型服务的事件有效负荷选项。 此外,可视规则编辑器允许您基于其输出响应为​ 调用服务 ​操作创建成功和失败处理程序的规则。 成功处理程序管理​ 调用服务 ​操作的成功执行,而失败处理程序处理发生的任何错误。

在表单的规则编辑器中使用“调用服务”的优势

在自适应表单的规则编辑器中使用“调用服务”操作的优点很少:

  • 简化的集成:可视规则编辑器简化了将外部服务或API集成到自适应Forms中的过程。 通过使用​ 调用服务,您可以轻松地将表单连接到各种数据源和服务,而无需复杂的编码,从而使表单集成更高效。

  • 动态响应处理:您可以根据​ 调用服务 ​的输出响应来管理成功和错误响应,从而允许表单动态地响应不同的场景。 它确保表单能够恰当地处理各种情况,提高灵活性和控制能力。

  • 增强的用户交互:在规则编辑器中使用​ 调用服务 ​可在表单中启用实时验证,从而提供更好的用户体验。 它还可确保数据在服务器端得到准确验证,从而减少错误并提高表单可靠性。

为成功和失败响应调用服务处理程序

NOTE
您只能对基于核心组件的表单使用​ 调用服务 ​成功和失败处理程序。 基于基础组件的Forms不支持​ 调用服务 ​成功和失败处理程序。

可视规则编辑器允许您基于其输出响应为​ 调用服务 ​操作创建成功和失败处理程序的规则。 下图描述了自适应表单的可视化规则编辑器中的​ 调用服务

调用服务处理程序

要添加成功或失败处理程序,请分别单击​ 添加成功处理程序 ​或​ 添加失败处理程序

单击​ 添加成功处理程序 ​后,将显示​ 调用服务成功处理程序 ​规则编辑器,允许您指定规则或逻辑来管理操作成功时的​ 调用服务 ​输出响应。 即使不定义条件,您也可以指定规则;但是,您可以通过单击​ 添加条件 ​选项为成功处理程序添加条件。

调用服务成功处理程序

您可以添加多个规则以处理​ 调用服务 ​操作的成功响应:

多个成功处理程序 {width="50%,"}

同样,您可以添加规则以在操作不成功时处理​ 调用服务 ​输出响应。 下图显示了​ 调用服务失败处理程序 ​规则编辑器:

调用服务失败处理程序

您还可以添加多个规则来处理来自​ 调用服务 ​操作的不成功响应。

在服务器 ​上启用错误验证}功能允许作者在设计要在服务器上运行的自适应表单时添加验证。

在规则编辑器中使用调用服务的先决条件

在规则编辑器中使用​ 调用服务 ​之前,必须满足以下先决条件:

  • 确保已配置数据源。 有关配置数据源的说明,单击此处
  • 使用配置的数据源创建表单数据模型。 有关创建表单数据模型的指导,单击此处
  • 确保为您的环境启用了核心组件。 有关如何为您的环境启用核心组件的详细说明,请单击此处

通过不同的用例探索调用服务

可视规则编辑器的​ 调用服务 ​允许您执行若干有用的操作。 您可以使用此插件填充下拉选项、设置可重复或简单的面板以及验证表单字段,所有这些操作都基于​ 调用服务 ​的输出响应。 因此,可增强表单的灵活性和交互性。

下表描述了一些可使用​ 调用服务 ​的情况:

用例
描述
使用调用服务的输出填充下拉选项
根据从调用服务输出中检索的数据动态填充下拉列表选项。 单击此处查看实施。
使用调用服务的输出设置可重复的面板
使用调用服务输出中的数据配置可重复面板,从而允许使用动态面板。 单击此处查看实施。
使用调用服务的输出设置面板
使用调用服务输出中的特定值设置面板的内容或可见性。 单击此处查看实施。
使用调用服务的输出参数来验证其他字段
使用调用服务中的特定输出参数来验证表单字段。 单击此处查看实施。

创建一个Get Information表单,该表单根据在Pet ID文本框中输入的输入检索值。 下面的屏幕截图显示了以下用例中使用的表单:

获取信息表单

表单字段

将以下字段添加到表单:

  • 输入Pet ID: Textbox

  • 选择照片URL:下拉列表

  • 标记:面板

    • 名称:文本框
    • ID:文本框
  • 类别:面板

    • 名称:文本框
  • 提交:“提交”按钮

NOTE
在表单字段的​ 属性 ​对话框的​ 绑定引用 ​字段中,选择 foldersearch_18 ,然后导航以选择您在表单数据模型(FDM)中添加的二进制属性。

配置面板

将面板设置为具有以下约束的重复面板:

  • 最小值:1
  • 最大值:4

您可以根据自己的需要调整重复面板的值。

数据源

在此示例中,Swagger Petstore API用于配置数据源。 已为getPetById服务配置表单数据模型,该服务根据输入的ID检索宠物详细信息。

让我们使用Swagger Petstore API中的addPet服务发布以下JSON:

{
        "id": 101,
        "category": {
            "id": 1,
            "name": "Labrador"
        },
        "name": "Lisa",
        "photoUrls": [
            "https://example.com/photos/lisa1.jpg",
            "https://example.com/photos/lisa2.jpg"
        ],
        "tags": [
            {
                "id": 1,
                "name": "vaccinated"
            },
            {
                "id": 2,
                "name": "friendly"
            },
            {
                "id": 3,
                "name": "house-trained"
            }
        ],
        "status": "available"
    }

规则和逻辑是使用Pet ID文本框上的规则编辑器中的​ 调用服务 ​操作实现的,用于演示上述用例。

现在,让我们详细探讨每个用例的实施。

用例1:使用调用服务的输出填充下拉值

此用例演示了如何根据Invoke Service的输出动态填充下拉选项。

实施

要实现此目的,请在Pet ID文本框上创建规则以调用getPetById服务。 在规则中,将​ 添加成功处理程序 ​中photo-url下拉列表的enum属性设置为photoUrls

设置下拉值

输出

Pet ID文本框中输入101以根据输入的值动态填充下拉选项。

结果

用例2:使用调用服务的输出设置可重复面板

此用例演示如何根据​ 调用服务 ​的输出动态填充可重复面板。

注意事项

  • 确保可重复面板的名称与要为其设置面板的​ 调用服务 ​的参数匹配。
  • 面板针对相应的​ 调用服务 ​字段返回的值数重复。

实施

Pet ID文本框上创建规则以调用getPetById服务。 在​ 添加成功处理程序 ​中,添加另一个成功处理程序响应。 在规则中将tags面板的值设置为tags

为可重复面板创建规则

输出

Pet ID文本框中输入101以根据输入值动态填充可重复面板。

输出

用例3:使用调用服务的输出设置面板

此用例演示了如何根据​ 调用服务 ​的输出动态设置面板的值。

注意事项

  • 请确保面板的名称与要为其设置面板的​ 调用服务 ​的参数匹配。
  • 该面板会针对由相应的Invoke Service字段返回的值数重复执行。

实施

Pet ID文本框上创建规则以调用getPetById服务。 在​ 添加成功处理程序 ​中,添加另一个成功处理程序响应。 在规则中将categoryname文本框的值设置为category.name

为可重复面板创建规则

输出

Pet ID文本框中输入101以根据输入值动态填充面板。

输出

用例4:使用调用服务的输出参数验证其他字段

此用例演示如何使用​ 调用服务 ​的输出来动态验证其他表单字段。

实施

Pet ID文本框上创建规则以调用getPetById服务。 在​ 添加失败处理程序 ​中,添加失败处理程序响应。 如果输入的Pet ID不正确,请隐藏​ 提交 ​按钮。

失败处理程序

输出

Pet ID文本框中输入102,且​ 提交 ​按钮已隐藏。

输出

常见问题解答

问:如果我使用Invoke Service创建了规则,然后升级到核心组件的最新版本,会发生什么情况?

A: ​升级到最新版本的核心组件时,调用服务 ​规则会自动更新到最新的用户界面,因为它向后兼容。

问:我是否可以添加多个规则来处理调用服务操作的成功或失败响应?

A: ​是,您可以添加多个规则来处理​ 调用服务 ​操作的成功或失败响应。

相关文章

其他资源

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab