如何使用略有不同的 $ref 使用相同的组件模式?
Posted
技术标签:
【中文标题】如何使用略有不同的 $ref 使用相同的组件模式?【英文标题】:how to use same component schemas using $ref which vary a little? 【发布时间】:2019-12-28 19:00:50 【问题描述】:我正在尝试重新使用组件架构作为参考,这些架构因使用情况而异。
我有一个“员工模型”,其中包含以下项目:- EmployeeID 和 EmployeeName
所以我在 YAML 中创建了一个组件架构,如下所示:-
components:
schemas:
Employee:
type: object
properties:
EmployeeID:
type: integer
EmployeeName:
type: string
EmployeeAge:
type: integer
现在我想在多个路径中使用它,例如
-
在请求和响应正文中都使用它,但需要注意的是
在请求中我应该只接受 ID 并且响应可以保留
全部。
在响应正文中使用它,但只能与姓名和年龄一起使用
在只有名称的请求正文中使用它
您能否推荐使用 $ref 并实现上述目标的最佳方法?
【问题讨论】:
Combining defintions in Swagger docs的可能重复 【参考方案1】:查看combining schemas 上的 JSON Schema 文档;例如,在这种特殊情况下,您将使用allOf
。
Here's 相关答案。
【讨论】:
以上是关于如何使用略有不同的 $ref 使用相同的组件模式?的主要内容,如果未能解决你的问题,请参考以下文章