6

假设我有以下模式可以在以后使用$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"
          }
        }
      }

它们之间的唯一区别是itemIdand petId,我只想创建一个模式并在引用时通过itemIdor 。petId如何做到这一点?有没有替代解决方案?

4

1 回答 1

5

真的,没有办法通过模式引用传递参数。

在您的情况下,我们可以做的是拥有一个Order仅具有公共属性的基本模式,然后为petId/ itemId Orders 使用allOf.

检查此答案以获取另一个示例(或者答案以获取更具体的示例!)。

于 2019-08-16T10:29:44.920 回答