在 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"
          }
        }
      }

它们之间唯一的区别是itemIdpetId,我只想创建一个模式并在引用时传递itemIdpetId。 如何做到这一点?有没有其他解决方案?

真的没有办法沿着模式引用传递参数。

对于您的情况,我们可以做的是拥有一个仅包含通用属性的基本 Order 模式,然后为 petId/itemId Order 单独的模式利用 allOf.

查看 this answer for another example (or 以获得更具体的内容!)。