【问题标题】:How to generate spring cloud feign client using swagger-codegen-maven-plugin如何使用 swagger-codegen-maven-plugin 生成 Spring Cloud feign 客户端
【发布时间】:2018-02-11 15:17:06
【问题描述】:

我想使用 swagger-codegen 生成我的 feign 客户端代码,但我找不到可以引导我这样做的文档。

我有一个使用spring cloud的微服务,几个api服务使用spring-cloud-feign接口来请求数据。我希望我可以生成feign客户端代码。

<plugin>
                <groupId>io.swagger</groupId>
                <artifactId>swagger-codegen-maven-plugin</artifactId>
                <version>2.2.3</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>http://localhost:9141/v2/api-docs?group=building-service-api</inputSpec>
                            <language>java</language>
                            <output>${project.build.directory}/generated-sources/swagger</output>
                            <library>feign</library>
                        </configuration>
                    </execution>
                </executions>
            </plugin> 

语言/库设置为'java/feign',只有模型没有feign客户端;

语言设置为“spring”,“feign”是不受支持的库。

我很困惑如何生成我的所有代码?似乎几乎没有指南或文档或演示?

【问题讨论】:

    标签: spring-cloud swagger-codegen spring-cloud-feign


    【解决方案1】:

    在您的 pom.xml 中添加 spring-cloud-starter-feign 依赖项并:

    <configuration>
        <language>spring</language>
        <library>spring-cloud</library>
    </configuration>
    

    【讨论】:

    • 无法正常工作。当mvn compile:io.swagger.codegen.v3:swagger-codegen-maven-plugin:3.0.2:generate failed: Unknown library: spring-cloud [ERROR] Available libraries: [ERROR] spring-boot [ERROR] spring-mvc 时,我得到以下信息。有什么建议吗?我尝试添加 spring-cloud-starter-feign 但没有奏效。
    • @GerardBosch 我遇到了同样的问题。你有没有以某种方式修复它?
    • @MihaiP。当我开始玩并了解我需要什么时,我改变了方法。 (1) 我没有生成 Feign 客户端,因为在我的情况下它们只包含在一个注释 @FeignClient 中,所以我看不到必要性。 (2) 我使用更新的openapi-generator-maven-plugin 代替(你可以查看它的github)和&lt;generatorName&gt;spring&lt;/generatorName&gt; 和&lt;library&gt;spring-cloud&lt;/library&gt;,但我只生成模型(OAS 模式)和spring-mvc 接口,因为我生成合同作为JAR。我将所需的 Spring 依赖项添加为 provided 只是为了编译生成的合约库。
    猜你喜欢
    • 2018-08-29
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2022-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-15
    相关资源
    最近更新 更多