第 5 章 创建由 REST API 调用触发的集成


要按需触发集成的执行,请开始与您提供的 REST API 描述文档集成。以这种方式实现的集成称为 API 提供程序集成。API 提供程序集成允许 REST API 客户端调用触发执行集成的命令。

当 Fuse Online 发布 API 供应商集成时,任何对集成端点的客户端都可以触发集成的执行。

注意

如果您在 OpenShift Container Platform 上使用 Fuse Online,管理员可以配置 Fuse Online 服务器,以便红帽 3scale 发现 API 供应商集成 API。默认情况下,Fuse Online 对 API 供应商的集成 API 服务定义进行了注解,用于 3scale,但不公开这些 API 以供自动 3scale 发现。如果没有 3scale 发现功能,就无法有访问控制。通过 3scale 发现功能,您可以设置访问策略,集中控制并为 API 供应商集成 API 提供高可用性。如需更多信息,请参阅 Red Hat 3scale 文档页面中的 API 网关文档。

另请参阅: 配置 Fuse Online 以启用 API 的 3scale 发现

以下主题提供了创建 API 供应商集成的信息和说明:

有关如何创建、发布和测试 API 供应商集成的视频,请参阅 https://youtu.be/sox8SSqJ0zQ

API 提供程序集成从 REST API 服务开始。此 REST API 服务由您在创建 API 供应商集成时提供的 OpenAPI 3(或 2)文档定义。发布 API 提供程序集成后,Fuse Online 将 REST API 服务部署到 OpenShift。API 供应商集成的好处是 REST API 客户端能够调用触发集成的执行调用。

多个执行流程

API 供应商集成有多个执行路径,称为流。OpenAPI 文档定义的每个操作都有自己的流。在 Fuse Online 中,对于 OpenAPI 文档定义的每个操作,您可以在该操作的执行流中添加连接和其他步骤。这些步骤将按照特定操作需要处理数据。

执行流程示例

例如,考虑调用 Fuse Online 提供的 REST API 服务的人工资源应用。假设调用操作,该操作会添加新员工。处理此调用的操作流程可能会:

  • 连接到为新员工设备产生费用报告的应用程序。
  • 连接到 SQL 数据库以添加设置新设备的内部票据。
  • 连接到 Google 邮件,以向新员工发送邮件,并提供情况提示信息。

触发执行的方法

调用 REST API 的方法有很多来触发集成执行,包括:

  • 一个 Web 浏览器页面,用于获取数据输入并生成调用。
  • 明确调用 REST API(如 curl 实用程序)的应用。
  • 调用 REST API 的其他 API,如 webhook。

编辑流程的方法

对于每个操作,您可以编辑其流:

  • 添加与需要处理数据的应用程序的连接。
  • 在连接间添加步骤,包括分割、聚合和数据映射步骤。
  • 映射连接错误消息,以在完成流的 HTTP 响应中返回代码。其响应指向调用触发了集成的执行调用的应用程序。

创建 API 供应商集成的工作流

以下示意图中显示了用于创建 API 供应商集成的 一般 工作流:

General workflow for creating an API provider integration

发布 API 供应商集成

发布 API 供应商集成后,在集成摘要页面中,Fuse Online 会显示 REST API 服务的外部 URL。此外部 URL 是客户端用来调用 REST API 服务的基本 URL。

对于 OCP 上的 Fuse Online 环境,可能会启用红帽 3scale API 供应商集成的发现。在这种情况下,3scale 会发布调用服务的 URL。

测试 API 供应商集成

要测试 API 供应商集成的流,您可以使用 curl 实用程序。例如,以下 curl 命令会触发 REST API 服务 URL 的 Get Task(按 ID 操作)的执行流: https://i-task-api-proj319352.6a63.fuse-ignite.openshiftapps.com/api/

HTTP GET 命令是默认请求,因此无需指定 GET。URL 的最后一部分指定要获取的任务 ID:

curl -k https://i-task-api-proj319352.6a63.fuse-ignite.openshiftapps.com/api/todo/1
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat