OpenAPI文档生成时枚举值出现混淆问题排查
问题原因及解决办法
你贴的YAML定义本身语法没问题,gender和status的枚举是各自独立的,出现枚举值混在一起的情况,主要是这几个可能:
- 文档生成工具的缓存残留:像Swagger UI、Redoc这类常用的API文档工具,有时候会缓存之前的解析结果。如果之前你不小心把两个枚举写混过,没清缓存就会导致新定义不生效。先把工具的缓存清掉,重新生成文档试试。
- 省略部分的隐藏问题:你YAML里用
[...]省略了中间属性,要是省略的内容里有重复定义gender,或者错误把status的枚举引用给了gender,也会出这个问题。把省略的内容补全检查一遍,看看有没有属性重名或者枚举引用错误。 - 工具版本的bug:如果用的是旧版的OpenAPI解析工具,可能存在枚举解析的bug,不同字符串类型的枚举被错误合并。试试把工具升级到最新稳定版再生成。
你也可以先把YAML里的[...]换成实际内容,用Swagger Editor这类校验工具先检查整个YAML的合法性,确认没逻辑错误后再重新生成文档。
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

