首页 > 解决方案 > 使用带有 Lombok Annotations 的 OpenAPI 生成器生成 POJO

问题描述

我正在使用如下所示的 OpenAPI 生成器 maven 插件为模型生成 Java 客户端代码。

<plugin>
    <groupId>org.openapitools</groupId>
    <artifactId>openapi-generator-maven-plugin</artifactId>
    <version>4.3.1</version>
    <executions>
        <execution>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <inputSpec>${project.basedir}/src/main/resources/api.yaml</inputSpec>
                <generatorName>java</generatorName>
                <configOptions>
                   <sourceFolder>src/gen/java/main</sourceFolder>
                </configOptions>
            </configuration>
        </execution>
    </executions>
</plugin>

当我生成模型类时,它们会使用通常的 POJO 字段声明以及 getter 和 setter 生成。但是我想要做的是,我希望我的类自动生成,而不是生成 getter 和 setter,并使用 Java pojo 的 Lombok 注释,如@Getter, @Setter,@Data等。有没有办法自定义模型生成器以适应上述用例要求?

我试图找出是否有办法。我发现了这个讨论,最后一条评论谈到了PR,其中使用 Lombok 注释生成模型的问题已经得到解决。但是我在 OpenAPI 生成器开源项目中没有看到任何明确的使用指示或任何文档说明它已经实现。那么,今天有没有办法使用 Lombok 注释而不是常规的 getter 和 setter 来生成模型?

标签: javaspring-bootswaggeropenapiopenapi-generator

解决方案


完成这个非常古老的线程:现在它确实支持Lombok 注释。

取自此处的示例

 <configOptions>
     <additionalModelTypeAnnotations>@lombok.Builder @lombok.NoArgsConstructor @lombok.AllArgsConstructor</additionalModelTypeAnnotations>
 </configOptions>

推荐阅读