如何在Swagger模型中定义具有任意键的map
?
假设我有以下国际化模型(使用类似Globalize
的东西的Ruby风格伪代码):
class Thingy
translates :name
attribute :code
end
我的API希望能够返回类似于以下的内容:
{
"thingy": {
"code": "barn",
"translations": {
"default": "barn",
"en": "barn",
"ru": "cарай",
"fr": "grange",
"nl": "schuur"
}
}
}
但我不想在实际的API中限制翻译键的范围。
我可以在我的Swagger文档中定义。
definitions:
thingy:
required:
- code
properties:
code:
type: string
additionalProperties:
translations:
required:
- default
property:
default:
type: string
additonalProperties: string
这个验证通过了,但Swagger Codegen不会生成任何有关additionalProperties
的内容,而且与定义一个混合了必需和任意键的map
类型相比,它并不是很明确。
任何从事国际化工作的人都会面临类似的问题,所以我的问题是,其他人是如何处理这种情况的?