API网关兼容模式
上次更新日期:2026/10/20API Contracts 提供 API 网关兼容模式,可帮助您将定义导入 AWS API Gateway 和 Azure API Management。
在网关兼容模式下导出 API 时,API 契约可能会修改您的定义,以便将其成功导入所选网关。
在某些情况下,未进行任何修改,但会显示一条消息,告知您导出的定义可能会遇到的兼容性问题。
导出适用于 AWS API Gateway 的 OAS 3.0 定义
下表描述了在导出定义时 API Contracts 如何处理 AWS API Gateway 不支持的功能,以及在导入定义时 AWS API Gateway 会发生什么。
| 不支持的 OpenAPI 功能 | API 契约 导出时的行为 | 导入时的 AWS API Gateway 行为 |
|---|---|---|
| 不支持 example 属性。 | 该属性会被保留。 | 该属性已从模式中移除。 |
| 不支持 readOnly 属性。 | 该属性会被保留。 | 该属性已从模式中移除。 |
| 不支持 additionalProperties 属性。 | 该属性被保留,并显示一条信息消息。 | 会显示一条警告消息,但可以忽略,并且可以成功导入定义。 |
安全定义类型:
|
安全方案得到保留,并显示一条提示信息。 | 会显示一条警告消息,但可以忽略,并且可以成功导入定义。 |
| 响应中不支持基本数据类型。 | 基本类型被包装到组件 schema 中,并显示一条警告消息。 | 导入成功。 |
| 不支持媒体类型范围。 | 请求或响应会被保留,并显示提示信息。 | 导入失败并显示警告消息。 |
| 不支持默认响应。 | 响应已保留,并显示一条提示消息。 | 导入失败并显示警告消息。 |
| 不支持范围响应。 | 响应已保留,并显示一条提示消息。 | 导入失败并显示警告消息。 |
| 路径变量、查询参数和标头必须具有唯一的名称。 | 参数将被保留,并显示错误消息。 | 导入失败。 |
导出用于 Azure API Management 的 OAS/Swagger 2.0 定义
下表描述了在导出定义时 API Contracts 如何处理 Azure API Management 不支持的功能,以及在导入定义时 Azure API Management 中会发生什么。
| 不支持的 OpenAPI 功能 | API 契约 导出时的行为 | 导入时的 Azure API Management 行为 |
|---|---|---|
| 路径和查询中的必需参数名称必须唯一。 | 会显示错误消息。 | 导入失败。 |