将参数传递给OpenAPI 3中的$ ref

时间:2019-08-16 10:13:33

标签: swagger openapi swagger-3.0

假设我具有以下架构,以后可以使用$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。 如何做到这一点?有其他解决方案吗?

1 个答案:

答案 0 :(得分:2)

实际上没有办法沿模式引用传递参数。

在您的情况下,我们可以做的是建立一个仅具有通用属性的基本Order模式,然后为petId / itemId Order利用allOf

请查看this answer作为另一个示例(或查看this作为更具体的示例!)。