首页 文章

Swagger 2.0 - 如何定义嵌入对象

提问于
浏览
1

我想用键和值定义一个对象,但无法弄清楚如何将它定义为swagger 2.0定义中的属性 . 坦率地说,如果想要能够定义强类型客户端,我不确定这是否可行 . 但是,我想我会问这是否可能/允许 .

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

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

1 回答

  • 2

    Swagger 2.0允许您定义string to type mapping,您需要使用additionalProperties . 使用以下表示法来定义 Map :

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

相关问题