5.4. 为 API 供应商集成定义操作流
定义 REST API 服务的 OpenAPI 文档定义了服务可以执行的操作。创建 API 供应商集成后,您可以编辑每个操作的网络流。
每个操作都只有一个流。在操作流程中,您可以添加连接到其他应用程序和服务,以及对连接间的数据执行操作的步骤。
当您添加到操作流中时,您可能会发现您需要更新 API 供应商集成的 OpenAPI 文档。为此,请在编辑 API 供应商集成的页面右上角点击 View/Edit API Definition。这会在 API Designer 编辑器中显示您的文档。在 OpenAPI 定义中,只要每个操作都有唯一的 operationId
属性,您可以在 API Designer 中保存您的更新,Fuse Online 可以同步 API 供应商集成的流程定义,使其具有您的更新。
先决条件
- 您创建了 API 供应商集成,为它指定一个名称并保存它。
- 您创建了与您希望操作流连接的每个应用程序或服务的连接。详情请查看 创建连接 的信息。
- Fuse Online 显示 API 定义的操作列表。
流程
- 在 Operations 列表页面中,针对您要定义的流的操作,单击 Create flow。
对于您要添加到此流的每个连接:
- 在流视觉化中,点加号在那个位置添加连接。
- 点您要添加的连接。
- 选择您希望此连接执行的操作。
- 通过在带标签的字段中输入数据来配置操作。
- 点击 Next。
在继续操作前,将所有必需的连接添加到流。
在这个操作流程中,要处理连接间的数据:
- 在流视觉化中,点您要添加步骤的加号。
- 点击您要添加的步骤。
- 通过在带标签的字段中输入数据来配置步骤。
点击 Next。
如需帮助,请参阅 连接间的添加步骤。
如果您要添加在连接间处理数据的另一个步骤,请重复这一指令子集。
将数据映射到下一个连接中的字段:
-
在流视觉化中,检查数据类型不匹配
图标,这表示连接无法处理传入的数据。您需要在此处添加数据映射程序步骤。
对于流视觉化中的每个数据不匹配图标:
- 点击刚才在这一步前的加号。
- 点 Data Mapper。
- 定义所需的映射。如需更多信息,请参阅 在下一个连接 中将集成数据映射到字段。
- 点击 完成 将 data mapper 步骤添加到流程中。
-
在流视觉化中,检查数据类型不匹配
在流视觉化中,在 Provided API return Path 步骤中,点 Configure。
每个 API 供应商集成都通过向负责执行操作流的 REST API 调用者发送响应来完成每个操作流的流。响应包含用于完成操作流的 Provided API return Path 步骤配置的返回代码之一。配置返回路径步骤,如下所示:
- 在 Default Response 下,在 return Code 字段中接受 Fuse Online 显示的默认响应,或者点击 care caret 并滚动来选择您想要的默认响应。在执行操作流时,流程不会返回任何配置的错误响应。通常,默认响应返回代码表示成功操作。
在 Error Handling 下,指明是否要在返回邮件正文中包含错误消息。
在开发过程中,您通常要返回错误消息。但是,在生产环境中,如果包含敏感或专有信息,您可能希望隐藏错误消息。错误消息是一个 JSON 格式的字符串,其中包含
响应代码
、类别
、消息
和错误元素,例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,在开发过程中,知道发生错误的最可靠方法是检查对调用者的响应中的
HTTP_RESPONSE STATUS
标头。您还可以检查集成 Pod 的日志INFO
消息。该集成的活动日志显示成功交换,且错误始终不会在 Activity 日志中显示。在 Error Response Code 下,Fuse Online 显示为流中连接可能会返回的每个错误的条目。对于每个错误,接受 200 All is good default 返回代码,或者点击 以选择另一个 HTTP 状态返回代码。
您可以从中选择的返回代码是 OpenAPI 文档为这个流程执行的操作定义的返回代码。如果 Fuse Online 没有显示您需要的返回代码,您可以编辑 OpenAPI 文档来添加它。
为此,请单击右上角的 View/Edit API Definition。根据需要编辑 OpenAPI 文档。完成后,保存 OpenAPI 文档。Fuse Online 返回编辑 Provided API return Path 并反映了您保存的任何更改。
- 点击 Next 以完成返回路径的配置。
如果这个流程都有所有必需的连接和步骤,且不存在数据不匹配图标,或者如果不再需要编辑流,请执行以下操作之一:
- 发布 时间为:在右上角开始运行集成,单击 Publish。这会构建集成,将 REST API 服务部署到 OpenShift,并使集成能够执行。每次您完成操作流的创建时,或每次编辑操作流时,您可以发布集成。
- 保存 InventoryService-latexTo 显示操作列表(在右上角),单击 Save。
重复此步骤以编辑另一个操作的流程。
测试 API 供应商集成
测试 API 供应商集成在其中一个平台中运行:
- OpenShift Online
- OpenShift Dedicated
- 当 API 发现被禁用时,OpenShift Container Platform
您可以使用
curl
实用程序确认该集成正常工作。在curl
命令中,指定 Fuse Online 在发布 API 供应商集成后显示的外部 URL。有关这样做的示例,请参阅 测试 API 供应商 Quickstart 集成。启用 API 发现时,在 OpenShift Container Platform 上运行的测试 API供应商集成
Red Hat 3scale 发布您的 API 供应商集成。要测试集成,请打开 3scale 控制面板以获取集成的 URL。
如果 API 供应商集成禁用发现,例如,如果您不希望红帽 3scale 来控制对集成的 API 的访问,或者您希望在 Fuse Online 中测试 API 供应商集成。如果您禁用了发现功能,Fuse Online 会重新发布集成并提供用于调用和测试集成执行的外部 URL。为此,可在 Fuse Online 中进入集成的摘要页面。在这个页面上,单击 Disable discovery。Fuse Online 重新发布集成并提供集成的 URL。有关如何测试集成的示例,请参阅 测试 API 供应商 Quickstart 集成。测试后,您可以重新启用 API 供应商集成的发现,以便 3scale 发布它。
您可以为每个 API 供应商集成启用或禁用发现。