如何让OpenApi Maven Generator区分小驼峰与下划线命名字段?
解决OpenApi Generator把小驼峰和下划线字段当成重复字段的问题
- 强制保留原始字段命名
直接在OpenApi Maven插件的配置里加上命名策略参数,让生成器严格按照规范里的原始字段名生成,不做自动转换。在pom.xml的插件configOptions里添加<naming>original</naming>就行,示例配置:
<plugin> <groupId>org.openapitools</groupId> <artifactId>openapi-generator-maven-plugin</artifactId> <version>你的插件版本号</version> <executions> <execution> <goals> <goal>generate</goal> </goals> <configuration> <inputSpec>${project.basedir}/src/main/resources/openapi.yaml</inputSpec> <generatorName>java</generatorName> <configOptions> <naming>original</naming> <!-- 其他你需要的配置 --> </configOptions> </configuration> </execution> </executions> </plugin>
这个配置会让生成器放弃自动转换命名风格,小驼峰和下划线的字段会被识别成不同的字段,不会出现重复。
自定义模板控制字段生成
如果上面的命名策略不符合你的其他需求,就自己改生成模板。找到Java客户端的字段模板(比如field.mustache),把模板里用来生成字段名的{{fieldName}}替换成{{originalName}},这样生成的字段名完全和规范里的一致,自然不会把两种命名当成同一个字段。开启Unicode标识符支持(兜底方案)
如果上面的方法还不行,试试在configOptions里加<allowUnicodeIdentifiers>true</allowUnicodeIdentifiers>,这个配置会让生成器不对字段名做额外的归一化处理,能保留原始命名的差异。
内容的提问来源于stack exchange,提问作者MiamiBeach
相关产品推荐
相关产品推荐

