OpenAPI 规范的 IBM 扩展
在 OpenAPI 定义文件中使用 x-ibm-configuration 对象来添加特定于 IBM®
API Connect的扩展。
x-ibm-configuration 扩展具有以下结构:
x-ibm-configuration:
enforced: enforced_boolean
forceHttp500ForSoap11: forceHttp500ForSoap11_boolean
compile-json-schemas: compile_json_schemas_boolean
phase: Phase
testable: test_boolean
cors:
enabled: cors_boolean
buffering: buffering_boolean
activity-log:
activity_logging_extension
assembly:
execute:
- assembly_component
gateway: gateway_type
type: api_type
properties:
properties_extension
catalogs:
catalogs_extension
下表列出了 API Connect所使用的各种扩展,它们是否是必需的,它们的使用和行为的描述以及它们的类型。
| 扩展 | 必需 | 描述 | Type |
|---|---|---|---|
| phase | False | 使用 phase 扩展以描述 API 的成熟期。 它可接受以下值:
|
字符串 |
| testable | False | 使用 testable 扩展来指定是否可以使用 Developer Portal中的测试工具来测试 API。 |
布尔值 |
| enforced | False | 使用 enforced 扩展来指定是否使用 API Connect 网关来实施 API。
|
布尔值 |
| cors | False | 使用 cors 扩展以指定是否将 CORS 访问控制用于 API。 扩展具有一个布尔值的 enabled 字段。 |
对象(具有单个布尔值的字段) |
| False | activity-log 扩展可用于为分析中存储的 API 活动配置日志记录首选项。 您指定的首选项将覆盖有关收集和存储 API 活动详细信息的缺省设置。 |
对象 | |
| assembly | False | 使用 assembly 扩展以描述策略的应用程序和 API 的逻辑。 它包含 execute 字段,其中包含将按顺序应用的一组策略。 它可包含一个 catch 字段,其中包含要捕获的一组错误案例。有关使用 有关使用 |
对象 |
| gateway | False | 使用 gateway 扩展以指定想要使用的网关的类型。 如果您使用的是 DataPower® Gateway (v5 compatible) 或 DataPower API Gateway,那么必须将其包括在内并采用下列其中一个值:
有关网关类型的信息,请参阅 API Connect 网关类型。 |
字符串 |
| type | False | type 扩展采用以下值之一:
|
|
| properties | False | 使用 properties 扩展来定义要在 API 中使用的属性。 |
对象 (properties) |
| catalogs | False | 使用 catalogs 扩展来针对 properties 扩展中定义的属性定义特定于目录的值。 |
对象 (catalogs) |
| False | 在 SOAP 1.1 API 上发生错误时,使用 forceHttp500ForSoap11 扩展来强制使用 500 响应代码。 此属性仅适用于包含 APAR IT46043的 DataPower 修订包。 |
布尔值 | |
| compile-json-schemas | False | 使用此扩展可在配置部署过程中启用 JSON 模式预编译。 设置为 "true "时,JSON 模式会在应用新配置时进行编译和缓存,确保在处理第一条消息时编译就绪并可用。 | 布尔值 |
| buffering | False | 使用此扩展可控制是否在处理 API 请求和响应之前对其进行缓冲。 它可以启用 DataPower message-buffering 命令
|
布尔值 |
以下示例显示了API的 x-ibm-extension 部分,该部分由 API Connect 强制执行,处于已实现状态,可通过开发者门户中的测试工具进行测试,启用了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