假设我具有以下架构,以后可以使用$ref
重用:
"schemas": {
"Order": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"petId": {
"type": "integer",
"format": "int64"
}
}
}
但是我有另一个与此类似的模式:
"schemas": {
"Order": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"itemId": {
"type": "integer",
"format": "int64"
}
}
}
它们之间的唯一区别是itemId
和petId
,我只想创建一个架构并在引用时传递itemId
或petId
。
如何做到这一点?有其他解决方案吗?
答案 0 :(得分:2)
实际上没有办法沿模式引用传递参数。
在您的情况下,我们可以做的是建立一个仅具有通用属性的基本Order
模式,然后为petId
/ itemId
Order
利用allOf
。
请查看this answer作为另一个示例(或查看this作为更具体的示例!)。