针对 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 使用的各种扩展、它们是否是必需的、其用法和行为的描述及其类型。
扩展 | 必需 | 描述 | 类型 |
---|---|---|---|
phase | 是 | 使用 phase 扩展以描述 API 的成熟期。它可接受以下值:
|
字符串 |
testable | 是 | 使用 testable 扩展以指定是否可以使用 Developer Portal 中的测试工具测试 API。 | 布尔 |
enforced | 是 | 使用 enforced 扩展以指定是否使用 API Connect 网关来实施 API。
|
布尔 |
cors | 是 | 使用 cors 扩展以指定是否将 CORS 访问控制用于 API。扩展具有一个布尔值的 enabled 字段。 | 对象(具有单个布尔值的字段) |
组合件 (assembly) | 否 | 使用 assembly 扩展以描述策略的应用程序和 API 的逻辑。它包含 execute 字段,其中包含将按顺序应用的一组策略。它可包含一个 catch 字段,其中包含要捕获的一组错误案例。 有关使用 execute 字段的信息,请参阅execute。 有关使用 catch 字段的信息,请参阅catch。 |
对象 |
gateway | 否 | 使用 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