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