我的目标是使用OpenAPI3.0生成Spring Boot REST客户端。
我希望首先生成API的OpenAPI规范文件(springdoc-openapi-maven-plugin),然后使用Maven从该文件(swagger-codegen-maven-plugin)生成客户机代码。
我的问题是swagger-codegen-maven-plugin在springdoc-openapi-maven-plugin之前执行。因此,当swagger-codegen-maven-plugin执行时,springdoc-openapi-maven-plugin生成的输出文件不存在。
给定以下Maven构建插件配置,如何在swagger-codegen-maven-plugin之前执行springdoc-openapi-maven-plugin?
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.4.1</version>
<executions>
<execution>
<id>pre-integration-test</id>
<goals>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>post-integration-test</id>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<apiDocsUrl>myServerUrl:myPort/v3/api-docs</apiDocsUrl>
<outputFileName>openApiFile.json</outputFileName>
<outputDir>${project.basedir}/src/main/resources</outputDir>
<skip>false</skip>
</configuration>
</plugin>
<plugin>
<groupId>io.swagger.codegen.v3</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>3.0.24</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/src/main/resources/openApiFile.json</inputSpec>
<language>typescript-angular</language>
<configOptions>
<sourceFolder>src/gen/java/main</sourceFolder>
</configOptions>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
问题是,springdoc-openapi-maven-plugin在integration-test
阶段执行,而swagger-codegen-maven-plugin默认阶段是generate-sources
,在构建生命周期中integration-test
之前执行。
我只是为swagger-codegen-maven-plugin指定了一个阶段,它在integration-test
:
之后。
我想使用swagger-codegen生成我的假客户端代码,但我找不到能够引导我这样做的文档。 我有一个使用spring cloud的微服务,几个使用spring-cloud-feign接口请求数据的API服务。我希望我能生成feign客户端代码。 我很困惑如何生成我所有的代码?似乎几乎没有指南、文档或演示?
我试图在maven构建期间生成swagger.json文件。 这是我在pom.xml中从docs获得的插件。 任何帮助都将不胜感激。
我寻找一些配置,我可以改变接口的名称,已生成,但没有找到解决方案。 对此有什么想法吗??
我需要在eclipse中使用with swagger codegen插件(用于maven)生成服务器存根代码。你能帮我怎么做吗?以及需要什么配置(在pom.xml中)。
我想在一个生成的服务中使用springdoc-openapi-ui,但是生成的API使用了错误的包,它使用io.swagger.annotations而不是io.swagger.v3.oas.annotations 我能为此做些什么?