几周前,我们将项目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

我不希望我的列表声明为null。我查看了生成器Java选项(https://github.com/OpenAPITools/openapi-generator/blob/master/docs/generators/java.md),但没有找到任何解决方案。有什么方法可以实例化我的列表吗?

最佳答案

我已将https://github.com/OpenAPITools/openapi-generator/pull/1683提交给OpenAPI Generator,以正确声明列表,而不是默认为null,例如https://github.com/OpenAPITools/openapi-generator/pull/1683/files#diff-8afdfb3025e9e2e0e52f9f5748a2f969R54。请看看是否正是您要的内容。

PR合并为master,并将包含在12月20日的4.0.0-beta版本中。

10-04 19:23