6.2. OpenAPI 操作与 API 供应商集成流的关系

API 供应商集成的 OpenAPI 文档定义 REST API 客户端可以调用的操作。每个 OpenAPI 操作都有自己的 API 供应商集成流。因此,每个操作也可以拥有自己的 REST API 服务 URL。每个 URL 由 API 服务的基本 URL 和子路径可选定义。REST API 调用指定一个操作的 URL,用于触发该操作的流执行。

您的 OpenAPI 文档决定了哪个 HTTP 动词(如 GETPOSTDELETE 等)您可以在调用 REST API 服务 URL 中指定。调用 API 提供程序 URL 的示例是 在尝试 API 供应商快速入门示例的说明 中。

您的 OpenAPI 文档还决定操作可以返回的 HTTP 状态代码。操作的返回路径只能处理 OpenAPI 文档定义的响应。例如,基于其 ID 删除对象的操作可能会定义这些可能的响应:

"responses": {
  "204": {
           "description": "Task deleted"
         },
  "404": {
           "description": "No Record found with this ID"
         },
  "500": {
            "description": "Server Error"
        }
}

API 供应商集成示例

下图显示了处理人员数据的 API 供应商集成。外部 REST API 客户端调用由 API 提供程序集成部署的 REST API URL。调用 URL 会触发一个 REST 操作的执行流。此 API 供应商集成有 3 个流。每个流程都可以使用 Fuse Online 中提供的任何连接或步骤。REST API 及其流是一个 Fuse Online API 供应商集成,部署在一个 OpenShift pod 中。

API provider integration with 3 flows

在创建 API 供应商集成时编辑 OpenAPI 文档

在为 API 供应商集成指定 OpenAPI 2.0 文档后,您可以根据需要更新文档,同时为 API 操作定义执行流。要做到这一点,请点击您要编辑 API 供应商集成的页面右上角的 View/Edit API Definition。这会在 API Designer 编辑器中显示 OpenAPI 文档。编辑并保存文档,以做出反映在 Fuse Online 中的更改。

编辑 OpenAPI 文档时的注意事项:

  • 用于同步的 operationId 属性

    在 API Designer 编辑器和 Fuse Online 集成编辑器中的 OpenAPI 文档版本之间同步取决于分配给文档中定义的每个操作的唯一 operationId 属性。您可以为每个操作分配特定的 operationId 属性值,或使用 Fuse Online 自动生成的值。

  • 请求和响应定义

    在每个操作的定义中,您可以提供一个 JSON 模式来定义操作的请求和响应。Fuse Online 使用 JSON 模式:

    • 作为操作的输入和输出数据的基础
    • 显示数据映射器中的操作字段
  • 无 cyclic 模式参考

    API 供应商集成操作的 JSON 模式无法具有 cyclic 模式引用。例如,指定请求或响应正文的 JSON 模式无法作为整体引用,也无法通过中间 JSON 模式引用任何部分。