如何阻止OpenAPI Maven插件生成模型?
如何阻止OpenAPI Maven插件生成模型
要完全阻止OpenAPI Maven插件生成模型类,直接在插件配置中禁用模型生成逻辑即可,以下是具体实现方式:
针对OpenAPI Generator Maven插件的配置
在pom.xml的插件配置里,添加generateModels参数并设为false,或者通过configOptions设置skipModel为true,两种方式二选一即可:
<plugin> <groupId>org.openapitools</groupId> <artifactId>openapi-generator-maven-plugin</artifactId> <version>6.6.0</version> <!-- 使用你项目对应的版本 --> <executions> <execution> <goals> <goal>generate</goal> </goals> <configuration> <inputSpec>${project.basedir}/src/main/resources/openapi.yaml</inputSpec> <generatorName>spring</generatorName> <!-- 适配你的生成器类型,比如spring、jaxrs等 --> <!-- 方式1:直接禁用模型生成 --> <generateModels>false</generateModels> <!-- 方式2:通过configOptions配置 --> <!-- <configOptions> <skipModel>true</skipModel> </configOptions> --> <!-- 配置API接口的包路径 --> <apiPackage>com.yourteam.api</apiPackage> <!-- 其他必要配置,比如生成器的额外参数 --> </configuration> </execution> </executions> </plugin>
针对旧版Swagger Codegen Maven插件的配置
如果你的项目使用的是旧版swagger-codegen-maven-plugin,配置逻辑类似:
<plugin> <groupId>io.swagger.codegen.v3</groupId> <artifactId>swagger-codegen-maven-plugin</artifactId> <version>3.0.34</version> <executions> <execution> <goals> <goal>generate</goal> </goals> <configuration> <inputSpec>${project.basedir}/src/main/resources/swagger.yaml</inputSpec> <language>spring</language> <!-- 禁用模型生成 --> <generateModels>false</generateModels> <apiPackage>com.yourteam.api</apiPackage> </configuration> </execution> </executions> </plugin>
注意事项
- 禁用模型生成后,插件只会生成API接口类,不会创建任何自动生成的模型文件。
- 你需要确保OpenAPI规范中定义的请求/响应模型,都能映射到你自己的自定义类上。可以通过OpenAPI规范里的
x-codegen-class扩展字段,明确指定API接口要引用的自定义模型类,避免编译报错。
内容的提问来源于stack exchange,提问作者jack nik
相关产品推荐
相关产品推荐

