OpenAPI Generator生成Spring Boot接口时文档注解错误问题
问题分析与结论
这是openapi-generator的Bug,而非OpenAPI规范问题。
核心原因
- OpenAPI规范层面:你通过
additionalProperties定义“值为MyEnum数组的Map”是完全合规的,符合OpenAPI 3.x对复杂嵌套结构的定义要求,规范本身没有问题。 - 生成器逻辑缺陷:openapi-generator 7.8.0版本在处理泛型嵌套的响应结构时,虽然能正确生成方法返回类型
Map<String, List<MyEnum>>,但在生成@ApiResponse的@Schema注解时,未能正确解析嵌套层级,仅提取了最底层的MyEnum.class,导致Swagger文档无法正确渲染Map+List+Enum的完整结构。
临时修复方案
- 手动修正生成代码:将
@ApiResponse中的@Schema注解修改为@Schema(type = "object", additionalProperties = @Schema(type = "array", implementation = MyEnum.class)),强制指定完整的嵌套结构。 - 升级插件版本:尝试升级到openapi-generator的最新稳定版(如8.x系列),这类泛型嵌套的注解生成问题通常会在新版本中得到修复。
内容的提问来源于stack exchange,提问作者James Parsons
相关产品推荐
相关产品推荐

