如何配置OpenApi Generator生成忽略空值的toString()方法?
问题
我的OpenAPI Generator配置
task generateRbsModel(type: GenerateTask) { generatorName = "spring" inputSpec = "$rootDir/...openapi.yaml" outputDir = "${buildDir}/generate-resources/main" modelPackage = "....model" generateModelTests = false globalProperties = [ modelDocs: "false", apis: "false", models: "" ] configOptions = [ library: "spring-boot", dateLibrary: "java8" ] }
我希望重写toString()方法,使得在展示类对象时不显示值为null的字段,请问是否可以通过配置实现生成这样的toString()方法?
解答
可以直接通过调整OpenAPI Generator的配置实现这个需求,不用编写自定义模板。
只需要在你的configOptions中添加toStringExcludeNulls: "true"配置项,修改后的完整配置如下:
task generateRbsModel(type: GenerateTask) { generatorName = "spring" inputSpec = "$rootDir/...openapi.yaml" outputDir = "${buildDir}/generate-resources/main" modelPackage = "....model" generateModelTests = false globalProperties = [ modelDocs: "false", apis: "false", models: "" ] configOptions = [ library: "spring-boot", dateLibrary: "java8", toStringExcludeNulls: "true" // 新增配置:忽略toString中的null字段 ] }
添加该配置后,生成的模型类toString()方法会自动跳过值为null的字段,只输出非null的字段内容。
如果你的项目中使用了Lombok(即配置过useLombok: "true"),则需要改用lombokToStringExcludeNulls: "true"配置项,生成的类会自动带上@ToString(excludeNulls = true)注解,同样能实现忽略null字段的效果。
内容的提问来源于stack exchange,提问作者Denq
相关产品推荐
相关产品推荐

