针对 OpenAPI (Swagger 2.0) 规范的 IBM 扩展

您可以在 OpenAPI (Swagger 2.0) 定义文件中使用 x-ibm-configuration 对象来添加特定于 IBM® API Connect 的扩展。

x-ibm-configuration 扩展具有以下结构:

x-ibm-configuration:
  enforced: enforced_boolean
  phase: Phase
  testable: test_boolean
  cors:
    enabled: cors_boolean
  assembly:
    execute:
      - assembly_component
   properties:
      properties_extension
   catalogs:
      catalogs_extension

下表列出 API Connect 使用的各种扩展、它们是否是必需的、其用法和行为的描述及其类型。

表 1. IBM 扩展
扩展 必需 描述 类型
phase 使用 phase 扩展以描述 API 的成熟期。它可接受以下值:
  • identified:此 API 处于早期的初步设计阶段,尚未完全设计或实施。
  • specified:此 API 已完成设计并通过了内部里程碑,但尚未实施。
  • realized:此 API 处于实施阶段。
字符串
testable 使用 testable 扩展以指定是否可以使用 Developer Portal 中的测试工具测试 API。 布尔
enforced 使用 enforced 扩展以指定是否使用 API Connect 网关来实施 API。
  • true 指示使用 API Connect 网关来实施 API。
  • false 指示不使用 API Connect 网关来实施 API。
布尔
cors 使用 cors 扩展以指定是否将 CORS 访问控制用于 API。扩展具有一个布尔值的 enabled 字段。 对象(具有单个布尔值的字段)
组合件 (assembly) 使用 assembly 扩展以描述策略的应用程序和 API 的逻辑。它包含 execute 字段,其中包含将按顺序应用的一组策略。它可包含一个 catch 字段,其中包含要捕获的一组错误案例。

有关使用 execute 字段的信息,请参阅execute

有关使用 catch 字段的信息,请参阅catch

对象
gateway 使用 gateway 扩展以指定想要使用的网关的类型。如果使用 DataPower® GatewayMicro Gateway,那么必须包含并采用以下一个值:
  • datapower-gateway
  • micro-gateway
字符串
properties 使用 properties 扩展来定义要在 API 中使用的属性。 对象(properties
目录 使用 catalogs 扩展来针对 properties 扩展中定义的属性定义特定于目录的值。 对象(目录

以下示例显示 API Connect 实施的 API 的 x-ibm-extension 节,处于已实现状态,可通过 Developer Portal 中的测试工具进行测试,启用了 CORS 访问控制,并且具有调用 URL 然后编辑来自请求或响应的字段的简单组合件。

x-ibm-configuration:
  enforced: true
  phase: realized
  testable: true
  cors:
    enabled: true
  assembly:
    execute:
      - invoke:
          title: Example Invoke
          target-url: 'https://example.com/api'
          description: Example description
      - redact:
        actions:
          - action: redact
            from: 
              - request
              - response
            path: //*[@name='secondaryAddress']/*[@name='streetAddress']  properties:
    ID:
      value: 1234
      description: An ID to be used for validating.
      encoded: false
  catalogs:
    Sandbox:
      properties:
        ID: 5678
时间戳记图标 上次更新时间:2017-10-24