OpenAPI 3.0 - 有条件的嵌套对象
OpenAPI 3.0 - conditionally nested objects
我有一个 API 我正在尝试使用 OpenAPI 3.0 进行记录,然后我将使用 Redoc
查看它
在这个API中,端点可以包含对象,这些对象可以有条件地包含其他对象,等等。
例如:对象 A 可以包含对象 B,对象 B 可以包含对象 C。在端点 1 上,对象 A 包含对象 B,对象 B 包含对象 C。但是,在端点 2 上。对象 B 确实不包含对象 C
我正在尝试尽可能以最 DRY 的方式构建我的组件,但在基于每个路径组装对象架构层次结构方面,我也具有完全的灵活性。
是否可以使用 OpenAPI 以 DRY 方式完成此操作?
readOnly
和 writeOnly
关键字可让您将特定属性标记为仅包含在响应中或仅包含在请求中,discriminator
可让您根据具体 属性。但是无法根据使用架构的 path/operation 来改变嵌套架构。
最简单的解决方案是将包含对象 C 的对象 B 的 属性 定义为可选 属性,并在 description
中口头记录使用细节(属性描述、架构描述或操作描述)。
我有一个 API 我正在尝试使用 OpenAPI 3.0 进行记录,然后我将使用 Redoc
查看它在这个API中,端点可以包含对象,这些对象可以有条件地包含其他对象,等等。
例如:对象 A 可以包含对象 B,对象 B 可以包含对象 C。在端点 1 上,对象 A 包含对象 B,对象 B 包含对象 C。但是,在端点 2 上。对象 B 确实不包含对象 C
我正在尝试尽可能以最 DRY 的方式构建我的组件,但在基于每个路径组装对象架构层次结构方面,我也具有完全的灵活性。
是否可以使用 OpenAPI 以 DRY 方式完成此操作?
readOnly
和 writeOnly
关键字可让您将特定属性标记为仅包含在响应中或仅包含在请求中,discriminator
可让您根据具体 属性。但是无法根据使用架构的 path/operation 来改变嵌套架构。
最简单的解决方案是将包含对象 C 的对象 B 的 属性 定义为可选 属性,并在 description
中口头记录使用细节(属性描述、架构描述或操作描述)。