【发布时间】:2019-05-14 08:43:30
【问题描述】:
几周前,我们将项目 Swagger 2.0 文件迁移到 Open api 3.0。我们使用 Java 代码生成器来生成我们的类。
使用 Swagger 2.0 和 swagger-codegen-cli-2.2.2.jar,生成的列表如下:
private List<Betriebspunkt> ist = new ArrayList<Betriebspunkt>();
private List<Betriebspunkt> plan = new ArrayList<Betriebspunkt>();
现在,使用 Open api 3.0 和 openapi-generator-cli-3.3.2-20181022.194157-15.jar,我的对象是这样生成的:
private List<Betriebspunkt> ist = null;
private List<Betriebspunkt> plan = null;
我的 yaml 文件如下所示:
Zuglauf:
properties:
ist:
type: array
items:
$ref: '#/components/schemas/Betriebspunkt'
plan:
type: array
items:
$ref: '#/components/schemas/Betriebspunkt'
type: object
我不希望我的列表被声明为空。我查看了生成器 java 选项 (https://github.com/OpenAPITools/openapi-generator/blob/master/docs/generators/java.md),但没有找到任何解决方案。有什么方法可以实例化我的列表吗?
【问题讨论】:
-
将您的 OpenAPI 3.0 规范粘贴到 editor.swagger.io 并确保没有语法错误。另外,您可以试试 Swagger Codegen CLI v3 (snapshot) 看看是否有所作为?
-
@Helen:感谢您的意见。我用在线编辑器检查了我的规范,没有语法错误。我尝试使用 Swagger Codegen CLI v3 生成我的代码,结果是一样的。
-
考虑 Swagger Codegen issue tracker 和其他 codegen 项目中的打开问题。
标签: java swagger code-generation openapi openapi-generator