首页 > 解决方案 > 如何使用 OpenApi maven 插件生成多个 api 类?

问题描述

我有一个 Swagger 文件,Maven 插件为我生成了一个大的 API 类。我将如何设置插件来为每个 API 类创建一个端点?

插件的当前配置是:

            <plugin>
                <groupId>org.openapitools</groupId>
                <artifactId>openapi-generator-maven-plugin</artifactId>
                <version>4.2.0</version>
                <executions>
                    <execution>
                        <id>swagger-codegen-fbs4me</id>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.basedir}/src/main/openapi/CarAPI_v0.2.yaml</inputSpec>
                            <generatorName>spring</generatorName>
                            <library>spring-boot</library>
                            <skipValidateSpec>true</skipValidateSpec>
                            <configHelp>false</configHelp>
                            <templateDirectory>${project.basedir}/src/main/resources/templates</templateDirectory>
                            <configOptions>
                                <delegatePattern>false</delegatePattern>
                                <apiPackage>com.ger.car.somewhere.clients</apiPackage>
                                <modelPackage>com.ger.car.somewhere.model</modelPackage>
                                <dateLibrary>java8</dateLibrary>
                                <java8>true</java8>
                            </configOptions>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

标签: javaspring-bootswagger-2.0swagger-codegenopenapi-generator

解决方案


要使 openAPI 生成器为每个端点生成一个客户端类,您可以尝试在 openapi 规范中为端点设置单独的标签,此方法可以创建单独的 API 客户端类。IE:

/myEndpoint/{myParam}/:
parameters:
  - name: myParam
    in: path
    required: true
    schema:
      type: string
get:
  tags:
    - {unique tag for this endpoint}

推荐阅读