如何在 OpenAPI/Swagger 中用对象键描述映射?

Poo*_*oja 5 rest swagger openapi

在我的 REST API 中,我想使用哈希图,Map<Foo, List<Bar>>其中FooBar是用户定义的类。如何在OpenAPI(Swagger)中描述这样的地图?

Hel*_*len 3

OpenAPI (Swagger) 仅支持带有字符串键的映射,例如:

{
  "en":  "Hello",
  "fr":  "Bonjour"

   ^^ key is a string
}
Run Code Online (Sandbox Code Playgroud)

无法使用非字符串键定义映射,例如Map<Foo, Bar>。您可以在 OpenAPI 规范存储库中提交功能请求: https: //github.com/OAI/OpenAPI-Specification/issues

您最多可以将哈希图定义为 just type: object,这意味着任意对象。

  • OpenAPI 模式定义基于 JSON 模式,JSON 哈希图使用字符串键。您认为“Map&lt;Foo, Bar&gt;”会如何用 JSON 表示? (2认同)