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


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

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

注意

如果您在 OpenShift Container Platform on OpenShift Container Platform 上使用 Fuse Online,管理员可以配置 Fuse Online 服务器,以启用 API 供应商集成 API 的 Red Hat 3scale 发现功能。默认情况下,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

5.1. 创建 API 供应商集成的优点、概述和工作流

API 提供程序集成从 REST API 服务开始。此 REST API 服务由您在创建 API 供应商集成时提供的 OpenAPI 3 (或 2)文档定义。发布 API 供应商集成后,Fuse Online 在 OpenShift 上部署 REST API 服务。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 by 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
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.