OpenFeign 请求抛出 AbstractMethodError

问题描述 投票:0回答:2

要求:

    @Headers("userId: {userId}")
    @RequestMapping(method = RequestMethod.GET, value = "/token")
    String getToken(@RequestHeader(name = "userId") Long userId);

处理程序:

    @GetMapping("/token")
    public ResponseEntity<?> getToken(@RequestHeader String userId) throws NoSuchAlgorithmException, InvalidKeySpecException {
        String token = jwtAuth.generateToken(userId);
        return ok(token);
    }

例外:

java.lang.AbstractMethodError:接收器类 org.springframework.cloud.openfeign.support.SpringDecoder$FeignResponseAdapter 没有定义或继承接口 org 的已解析方法“抽象 org.springframework.http.HttpStatusCode getStatusCode()”的实现。 springframework.http.client.ClientHttpResponse.

不确定我在这里做错了什么。如果需要,我可以发布完整的堆栈跟踪

OpenFeign 版本为 3.1.5 弹簧启动 3

spring-boot spring-cloud openfeign
2个回答
2
投票

spring-boot 和spring-cloud 版本好像没有对齐。对于 spring boot 3.X,你可以使用 spring cloud 版本2022.0.x.

请注意,这与 OpenFeign 版本不同。

<properties>
    <spring-cloud.version>2022.0.1</spring-cloud.version>
</properties>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

更多详情,请访问:https://spring.io/projects/spring-cloud.


0
投票
<properties>
    <java.version>17</java.version>
    <spring-cloud.version>2022.0.1</spring-cloud.version>
</properties>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Spring boot 3.X, 2022.0.X feign版本要用

© www.soinside.com 2019 - 2024. All rights reserved.