在我的REST API中,我想使用哈希图Map<Foo, List<Bar>>
,其中Foo
和Bar
是用户定义的类。如何在OpenAPI(Swagger)中描述这样的地图?
答案 0 :(得分:0)
OpenAPI(Swagger)仅支持带有字符串键的映射,例如:
{
"en": "Hello",
"fr": "Bonjour"
^^ key is a string
}
无法使用非字符串键(例如Map<Foo, Bar>
)定义映射。您可以在OpenAPI规范存储库中提交功能请求:https://github.com/OAI/OpenAPI-Specification/issues。
您最能做的就是将哈希映射定义为type: object
,这意味着一个任意对象。
答案 1 :(得分:0)
您可以使用additionalProperties
执行此操作
参见docs
components:
schemas:
Messages: # <---- map
type: object
additionalProperties:
type: string
它在json中表示为:
{
"Alex": "Hello",
"Ann": "Hi!"
^^ key is a string
}