Swagger 默认情况下将代码生成初始化为空列表,而不是空列表

Swagger 默认情况下将代码生成初始化为空列表,而不是空列表,swagger,swagger-codegen,Swagger,Swagger Codegen,Swagger代码生成工具是否有一个选项来选择生成的类是否应该具有默认为null或空的列表、映射等 以前,默认值为空,例如private List name=new List 此时默认值为null,即私有列表名称=null 更改是在2017年4月完成的,根据我从中了解到的,没有选择使用哪个选项的选项,从那时起,它始终默认为null 讨论中包含了这样做更好的原因,我对此没有异议。但我有一个遗留应用程序,它使用了某种形式的(招摇过市)生成的源代码,只做了很少的修改,我正试图摆脱这些,只使用招摇过市生

Swagger代码生成工具是否有一个选项来选择生成的类是否应该具有默认为null或空的列表、映射等

以前,默认值为空,例如
private List name=new List

此时默认值为null,即
私有列表名称=null

更改是在2017年4月完成的,根据我从中了解到的,没有选择使用哪个选项的选项,从那时起,它始终默认为null

讨论中包含了这样做更好的原因,我对此没有异议。但我有一个遗留应用程序,它使用了某种形式的(招摇过市)生成的源代码,只做了很少的修改,我正试图摆脱这些,只使用招摇过市生成的模型。问题在于,代码最初是以不存在空值的方式编写的,因此不进行空检查

那么我们能做些什么呢?使用以前版本的Swagger codegen


API不在我的控制范围内,因此yaml修改不是一个选项(如果这能提供帮助的话)。

根据注释,您需要编辑java的任何mustache模板文件(很可能是pojo.mustache)并更改列表/映射的实例化方式。

我在思考问题时解决了这个问题,并将codegen cli版本降级为2.2.2,这可能是创建列表和映射为空而不是空的最新版本。

感谢您的建议。我已经开始降级codegen cli版本了。很遗憾不得不降级。但我找不到其他选择。这种可怜的状态会在2021年继续吗?“NullPointerException”