Spring Boot3中openapi-generator插件未生成含OpenAPI info的配置类
解决openapi-generator-maven-plugin自动生成OpenAPI配置Bean的问题
要让openapi-generator-maven-plugin自动生成包含OpenAPI Bean的配置类,只需在插件的Maven配置中添加特定参数,生成适配Spring Boot的配置代码即可。以下是具体操作步骤:
- 修改
pom.xml中的openapi-generator-maven-plugin配置,指定生成Spring环境代码并开启自动生成OpenAPI配置的参数:
<plugin> <groupId>org.openapitools</groupId> <artifactId>openapi-generator-maven-plugin</artifactId> <version>6.4.0</version> <executions> <execution> <goals> <goal>generate</goal> </goals> <configuration> <!-- 你的OpenAPI YAML文件路径 --> <inputSpec>${project.basedir}/src/main/resources/openapi.yaml</inputSpec> <!-- 指定生成Spring环境代码 --> <generatorName>spring</generatorName> <!-- 生成代码的输出目录 --> <output>${project.build.directory}/generated-sources/openapi</output> <!-- API接口的包路径 --> <apiPackage>com.yourproject.api</apiPackage> <!-- 模型类的包路径 --> <modelPackage>com.yourproject.model</modelPackage> <configOptions> <!-- 适配Spring Boot 3版本 --> <useSpringBoot3>true</useSpringBoot3> <!-- 核心参数:自动生成包含OpenAPI Bean的配置类 --> <generateOpenApiConfiguration>true</generateOpenApiConfiguration> <!-- 指定使用spring-boot库生成代码 --> <library>spring-boot</library> <!-- 可选:关闭nullable注解(按需调整) --> <openApiNullable>false</openApiNullable> </configOptions> </configuration> </execution> </executions> </plugin>
关键参数说明:
useSpringBoot3: 确保生成的代码与Spring Boot 3版本兼容generateOpenApiConfiguration: 开启后插件会自动生成OpenApiConfiguration类,该类中会创建OpenAPIBean,并自动加载YAML文件里info节点的标题、版本、描述、许可证等信息library: 指定生成贴合Spring Boot结构的代码
执行Maven命令生成代码:
mvn clean compile
执行完成后,插件会在指定输出目录生成OpenApiConfiguration类,只要该类所在包在Spring Boot的组件扫描范围内,启动项目后Swagger UI就能正常展示YAML中定义的info部分信息。
内容的提问来源于stack exchange,提问作者kladderradatsch
相关产品推荐
相关产品推荐

