java - 使用带有 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 来生成模型?
解决方案
完成这个非常古老的线程:现在它确实支持Lombok 注释。
取自此处的示例
<configOptions>
<additionalModelTypeAnnotations>@lombok.Builder @lombok.NoArgsConstructor @lombok.AllArgsConstructor</additionalModelTypeAnnotations>
</configOptions>
推荐阅读
- python - 切换大写和小写python
- dataweave - 超过 6 位小数的数字转换为指数形式
- python - 你将如何在 python 中打印数字 1,2,3,4,5,6,7,8,18,19,20,21,22,23,24?
- visual-studio-code - 在 Visual Studio Code 中格式化多个文档
- sql - ORA-00936: 缺少 '=' 的表达式
- esp32 - 是否有适用于 ESP32-S2 或 ESP32 芯片的模拟器?
- java - SpringFramework JavaMailSender FileNotFoundException(不允许操作)但文件存在
- nginx - 无法在 E 盘 windows 7 中运行 nginx 命令,但可以从 C:\nginx\ 运行
- pandas - 如何过滤 Pandas 连续剧
- reactjs - 客户端渲染页面直接在浏览器上刷新后如何保留动态url参数?