在 OpenAPI 3 中将参数传递给 `$ref`
Pass argument to `$ref` in OpenAPI 3
假设我有以下架构,以后可以使用 $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
。
如何做到这一点?有没有其他解决方案?
真的没有办法沿着模式引用传递参数。
对于您的情况,我们可以做的是拥有一个仅包含通用属性的基本 Order
模式,然后为 petId
/itemId
Order
单独的模式利用 allOf
.
查看 this answer for another example (or 以获得更具体的内容!)。
假设我有以下架构,以后可以使用 $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
。
如何做到这一点?有没有其他解决方案?
真的没有办法沿着模式引用传递参数。
对于您的情况,我们可以做的是拥有一个仅包含通用属性的基本 Order
模式,然后为 petId
/itemId
Order
单独的模式利用 allOf
.
查看 this answer for another example (or