Swagger 2.0 - 如何定义嵌入式对象

Swagger 2.0 - How to Define an Embedded Object

我想用键和值定义一个对象,但不知道如何在 swagger 2.0 定义中将其定义为 属性。坦率地说,如果有人希望能够定义强类型的客户端,我不确定这是否可能。但是,我想我会问一下这是否是 possible/allowable.

基本上,我希望能够存储以下对象:

{ "currencies": 
  {  "usd" : 1.10,
     "eur" : 2.25
  }
}

但我不想在架构中定义 usd 和 eur。我可以执行以下操作,但我不想预定义 usd 或 eur。我希望它接受对象键的任何值。

 "Product": {
    "properties": {
        "currencies": {
                    "type": "currencyObj"               
                },
            }
     }, 
  },
  "currencyObj": {
     "id": "currencyObj",
     "properties": {
          "eur": {
             "type": "float"
          },
          "usd": {
            "type": "float"
          }
     }
  }

Swagger 2.0允许你定义一个string to type mapping,你需要使用additionalProperties。使用以下符号定义映射:

"currencyObj": {
  "type": "object",
  "additionalProperties": {
    "type": "number"
  }
}