在 OpenAPI 3 中将参数传递给 `$ref`

Som*_*Dev 5 swagger openapi swagger-3.0

假设我有以下模式稍后使用$ref

"schemas": {
      "Order": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "petId": {
            "type": "integer",
            "format": "int64"
          }
        }
      }
Run Code Online (Sandbox Code Playgroud)

但我有另一个与此类似的架构:

"schemas": {
      "Order": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "itemId": {
            "type": "integer",
            "format": "int64"
          }
        }
      }
Run Code Online (Sandbox Code Playgroud)

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

Ale*_*ksi 5

实际上,没有办法沿着架构引用传递参数。

对于您的情况,我们可以做的是拥有一个Order仅包含公共属性的基本架构,然后为petId使用.itemId OrderallOf

检查这个答案的另一个例子(或者这个更具体的例子!)。