要求:
@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 版本好像没有对齐。对于 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.
<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版本要用