OpenAPI Specification 3.0 支持
使用 API Designer 设计采用 OpenAPI Specification (OAS) 3.0 的 API。
OpenAPI Specification 3.0 附带了新功能,为 API 设计人员带来了更强的表现力和更高的生产力。
有关 OpenAPI 的更多信息,请参阅 Swagger 文档。
组件
组件允许您在整个 API 中重用各种元素。这些元素可以是:
- 路径变量
- 查询参数
- 标头
- 响应
组合
组合允许您通过组合其他几个数据类型来创建新的数据类型。API Designer 支持两种类型的组合:
- 组合 (allOf) 允许您聚合来自不同模式的模式属性。例如,您可以通过重用现有类型 Contact 和 Error 中的所有属性来定义数据类型 Company。

- 多态性(oneOf/anyOf)允许您创建一个可以使用不同数据类型属性的实体。
- oneOf 允许您定义一个包含所选类型之一的属性的数据类型。例如,如果您创建一个操作来获取有关服务帐户的信息,则可以使用 oneOf 组合定义响应,以获取 Error 的所有属性或 ServiceAccountCount 的所有属性。

- anyOf 允许您定义一个包含一个或多个所选类型属性的数据类型。例如,您可以定义一个包含不同属性的数据类型 nervousSystem 和类型 skeleton,并使用 anyOf 组合创建一个包含这两种类型中任何属性的数据类型。
只要 anyOf 组合包含至少一个所选数据类型的所有必需参数,它就是有效的。以下示例使用了 nervousSystem 类型中的 brain_weight 属性,以及 skeleton 中的 skull_height 和 teeth 属性。

- oneOf 允许您定义一个包含所选类型之一的属性的数据类型。例如,如果您创建一个操作来获取有关服务帐户的信息,则可以使用 oneOf 组合定义响应,以获取 Error 的所有属性或 ServiceAccountCount 的所有属性。
有关组合和多态性的更多信息,请参阅 Inheritance and Polymorphism 和 Difference Between anyOf and oneOf。
响应
OAS 3.0 允许您为操作定义新类型的响应:
- 响应范围:您可以将其设置为 2XX,而不是定义诸如 200 之类的响应,以便它包含从 200 到 299 的响应。
- 默认响应:您可以定义在未定义特定响应或范围响应时返回的默认响应。
使用显式代码定义的响应优先于响应范围和默认响应,而响应范围优先于默认响应。在以下示例中:
- 定义了 204 响应,并优先于其他响应。
- 2XX 响应适用于响应代码 200 到 203 以及 205 到 299。
- default 响应适用于所有 1XX、3XX、4XX 和 5XX 响应。

安全性
OAS 3.0 为您的 API 带来了新的安全方案:
- Bearer 身份验证
- OpenIdConnect
限制
OAS 3.0 允许您指示某些属性是只读或只写的。
此选项仅在数据类型中可用,不能在操作级别的请求或响应中定义。