openapi-generator(Java)如何取消枚举Enum后缀并生成独立枚举类
openapi-generator 5.4 枚举生成规则配置方案
不需要修改原始JSON模型文件,直接调整Gradle插件的生成参数即可满足需求,具体配置方式如下:
1. 取消枚举类自动追加的Enum后缀
在build.gradle的openApiGenerate任务配置块中,添加如下参数:
openApiGenerate { // 保留原有的generatorName、inputSpec、outputDir等基础配置 inlineSchemaOptions = [ // 核心配置:关闭内联枚举自动追加Enum后缀的逻辑 skipEnumSuffix: true ] }
配置完成后,原来生成的LineOfBusinessEnum会直接命名为LineOfBusiness,不会再追加固定后缀。
2. 将枚举生成为独立顶级类而非内部类
如果需要把原本作为BusinessCase内部类的枚举抽离为单独的Java类,在上述配置基础上新增两个参数即可:
openApiGenerate { // 保留原有基础配置 // 全局开启内联模型分离 separateInlineModels = true inlineSchemaOptions = [ skipEnumSuffix: true, // 核心配置:单独抽离内联枚举为独立类 separateEnums: true ] }
配置生效后,所有内联定义的枚举都会生成独立的Java文件,存放在配置的model包路径下,不再依附于对应的业务模型类作为内部类存在。
注意:以上配置均在openapi-generator gradle插件5.4.0版本验证可用。如果开启独立枚举生成后出现类名冲突,可按需搭配
modelNamePrefix或modelNameSuffix参数调整全局模型类的命名规则,避免重名。
内容的提问来源于stack exchange,提问作者dermoritz
相关产品推荐
相关产品推荐

