在基于核心组件的表单的可视规则编辑器中使用调用服务
自适应表单中的可视化规则编辑器支持 调用服务 功能,该功能允许您从为您的实例配置的表单数据模型(FDM)列表中选择服务。 您可以将表单字段直接映射到服务的输入参数。 要将表单字段映射到输出参数,请使用指定表单数据模型服务的事件有效负荷选项。 此外,可视规则编辑器允许您基于其输出响应为 调用服务 操作创建成功和失败处理程序的规则。 成功处理程序管理 调用服务 操作的成功执行,而失败处理程序处理发生的任何错误。
在表单的规则编辑器中使用“调用服务”的优势
在自适应表单的规则编辑器中使用“调用服务”操作的优点很少:
-
简化的集成:可视规则编辑器简化了将外部服务或API集成到自适应Forms中的过程。 通过使用 调用服务,您可以轻松地将表单连接到各种数据源和服务,而无需复杂的编码,从而使表单集成更高效。
-
动态响应处理:您可以根据 调用服务 的输出响应来管理成功和错误响应,从而允许表单动态地响应不同的场景。 它确保表单能够恰当地处理各种情况,提高灵活性和控制能力。
-
增强的用户交互:在规则编辑器中使用 调用服务 可在表单中启用实时验证,从而提供更好的用户体验。 它还可确保数据在服务器端得到准确验证,从而减少错误并提高表单可靠性。
为成功和失败响应调用服务处理程序
可视规则编辑器允许您基于其输出响应为 调用服务 操作创建成功和失败处理程序的规则。 下图描述了自适应表单的可视化规则编辑器中的 调用服务:
要添加成功或失败处理程序,请分别单击 添加成功处理程序 或 添加失败处理程序。
单击 添加成功处理程序 后,将显示 调用服务成功处理程序 规则编辑器,允许您指定规则或逻辑来管理操作成功时的 调用服务 输出响应。 即使不定义条件,您也可以指定规则;但是,您可以通过单击 添加条件 选项为成功处理程序添加条件。
您可以添加多个规则以处理 调用服务 操作的成功响应:
同样,您可以添加规则以在操作不成功时处理 调用服务 输出响应。 下图显示了 调用服务失败处理程序 规则编辑器:
您还可以添加多个规则来处理来自 调用服务 操作的不成功响应。
在服务器 上启用错误验证}功能允许作者在设计要在服务器上运行的自适应表单时添加验证。
在规则编辑器中使用调用服务的先决条件
在规则编辑器中使用 调用服务 之前,必须满足以下先决条件:
通过不同的用例探索调用服务
可视规则编辑器的 调用服务 允许您执行若干有用的操作。 您可以使用此插件填充下拉选项、设置可重复或简单的面板以及验证表单字段,所有这些操作都基于 调用服务 的输出响应。 因此,可增强表单的灵活性和交互性。
下表描述了一些可使用 调用服务 的情况:
创建一个Get Information
表单,该表单根据在Pet ID
文本框中输入的输入检索值。 下面的屏幕截图显示了以下用例中使用的表单:
表单字段
将以下字段添加到表单:
-
输入Pet ID: Textbox
-
选择照片URL:下拉列表
-
标记:面板
- 名称:文本框
- ID:文本框
-
类别:面板
- 名称:文本框
-
提交:“提交”按钮
配置面板
将面板设置为具有以下约束的重复面板:
- 最小值: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: 是,您可以添加多个规则来处理 调用服务 操作的成功或失败响应。