使用带有 Lombok 注释的 OpenAPI 生成器生成 POJO

Cha*_*abh 3 java swagger spring-boot openapi openapi-generator

我正在使用如下所示的 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>
Run Code Online (Sandbox Code Playgroud)

当 ,我生成模型类时,它们使用通常的 POJO 字段声明以及 getter 和 setter 生成。但我想做的是,而不是生成getter和setter方法,我想我的类与龙目岛标注为Java的POJO以获得更多信息自动生成@Getter@Setter@Data,等有没有一种方法来定制模型生成器,以适应上述用例的要求?

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

Lae*_*s3r 7

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

示例取自此处

 <configOptions>
     <additionalModelTypeAnnotations>@lombok.Builder @lombok.NoArgsConstructor @lombok.AllArgsConstructor</additionalModelTypeAnnotations>
 </configOptions>
Run Code Online (Sandbox Code Playgroud)

  • 我要么不知道如何做,要么没有看到某些东西,但是这个 configOption 对我不起作用 - 生成的文件仍然不包含注释(也不包含导入或任何内容)。那么“swagger-codegen-maven-plugin”中是否真的支持此功能?我尝试了旧的 v2 和新的 v3 - 但没有成功。我什至将 io.swagger.core.v3:swagger-annotations:2.1.9 添加到我的 pom.xml 中,但仍然没有成功。有人有完整的工作示例以及版本号吗? (4认同)