我想用一个键和一个值来定义一个对象,但是无法弄清楚如何将它定义为一个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"
}
}
}
答案 0 :(得分:2)
Swagger 2.0允许您定义string to type mapping,您需要使用additionalProperties。使用以下表示法来定义地图:
"currencyObj": {
"type": "object",
"additionalProperties": {
"type": "number"
}
}