如何防止OpenAPI生成器在Java中使用通配符导入

时间:2020-10-06 15:16:20

标签: java rest swagger openapi openapi-generator

如何防止openapi-generator在Java中使用通配符导入,例如import javax.validation.constraints.*;

此导入在指定的REST API的每个类中使用,其中关键字required用于属性。例如,在此片段中:

...
components:
  schemas:
    SimpleRequest:
      description: Simple request with a required property.
      type: object
      required:
        - requestID
      properties:
        requestID:
          type: string
...

此处生成的Java代码具有对象SimpleRequest的类,该类的属性requestID不能为Null。 这由生成的代码中字段上方的@NotNull指示。除了使用通配符导入,生成器还可以使用以下导入界面:import javax.validation.constraints.NotNull;

1 个答案:

答案 0 :(得分:0)

默认情况下,代码是根据为每种语言定义的默认模板生成的。对于Java,您可以找到用于生成模型DTO here的模板文件。

由于[1]中提到了通配符导入,因此将相应地生成代码。您可以自定义模板文件,并在生成代码时使用参数templateDirectory对其进行配置。

[1] https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/main/resources/Java/model.mustache#L36