将外部API与核心组件Forms中的可视规则编辑器集成

自适应表单中的可视化规则编辑器支持​ 调用服务 ​功能,使您能够通过为您的实例配置的表单数据模型(FDM)连接到外部API。 您可以将表单字段直接映射到服务的输入参数,并使用事件有效负载选项来映射输出参数。 可视规则编辑器还允许您根据服务的响应定义成功和失败处理程序的规则:成功处理程序处理成功的API调用,而失败处理程序管理错误。

这样,您就可以轻松地从表单发送API请求、处理API响应并在表单中动态显示或使用返回的数据。 它可确保自适应表单与外部系统或数据源之间的无缝集成。

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

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

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

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

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

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

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

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

调用服务处理程序

添加成功处理程序和失败处理程序

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

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

调用服务成功处理程序

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

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

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

调用服务失败处理程序

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

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

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

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

  • 确保已配置数据源。 有关配置数据源的说明,单击此处
  • 使用配置的数据源创建表单数据模型。 有关创建表单数据模型的指导,单击此处
  • 确保为您的环境启用了核心组件。 安装最新的Far以便为您的AEM Cloud Service环境启用自适应Forms核心组件。

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

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

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

用例
描述
使用调用服务的输出填充下拉选项
根据从调用服务输出中检索的数据动态填充下拉列表选项。 单击此处查看实施。
使用调用服务的输出设置可重复的面板
使用调用服务输出中的数据配置可重复面板,从而允许使用动态面板。 单击此处查看实施。
使用调用服务的输出设置面板
使用调用服务输出中的特定值设置面板的内容或可见性。 单击此处查看实施。
使用调用服务的输出参数来验证其他字段
使用调用服务中的特定输出参数来验证表单字段。 单击此处查看实施。
在调用服务中导航到操作时使用事件有效负载
使用事件有效负载处理成功和失败响应,并在导航期间将数据传递到“导航到”操作。 单击此处查看实施。

创建一个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服务。 在规则中,将enum添加成功处理程序photo-urlphotoUrls下拉列表的​属性设置为

设置下拉值

NOTE
请参阅添加成功处理程序和失败处理程序部分,了解如何设置成功和失败处理程序。

输出

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

结果

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

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

注意事项

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

实施

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

为可重复面板创建规则

NOTE
请参阅添加成功处理程序和失败处理程序部分,了解如何设置成功和失败处理程序。

输出

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

输出

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

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

注意事项

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

实施

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

NOTE
请参阅添加成功处理程序和失败处理程序部分,了解如何设置成功和失败处理程序。

为可重复面板创建规则

输出

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

输出

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

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

实施

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

失败处理程序

输出

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

输出

用例5:在导航到调用服务中的操作时使用事件有效负荷

此用例演示了如何在​ 提交 ​按钮上配置规则,该按钮调用​调用服务,然后使用​ 导航到 ​操作将用户重定向到其他页面。

实施

在​ 提交 ​按钮上创建规则以调用redirect-api API服务。 此服务负责将用户重定向到​ 联系我们 ​表单。

您可以使用下面提供的JSON数据将API作为redirect-api API服务直接集成到规则编辑器中:

{
  "id": "1",
  "path": "/content/dam/formsanddocuments/contact-detail/jcr:content?wcmmode=disabled"
}
NOTE
要了解如何直接在规则编辑器界面中集成API,请单击此处,而不使用预定义的表单数据模型。

在​ 添加成功处理程序 ​中,配置​ 导航到 ​操作以使用​ 参数将用户重定向到 ​联系我们Event Payload页面。 在此,用户可以提交其联系详情。

事件有效负载

(可选)将失败处理程序配置为在服务调用失败时显示错误消息。

输出

单击​ 提交 ​按钮时,将调用redirect-api API服务。 成功后,用户将被重定向到​ 联系我们 ​页面。

事件有效负载输出

常见问题解答

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

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

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

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

相关文章

其他资源

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