java spring feign 不带Authorization并且feigin拦截器中请求头不设置Authorization,如何访问其他需要Authorization的服务...
时间: 2024-03-15 07:44:23 浏览: 109
springcloud-feign-demo 代码,简单演示拦截器,包含全局拦截器 局部拦截器 带url过滤的拦截器
如果您的Feign客户端需要访问需要Authorization的服务,您可以在Feign客户端中添加一个拦截器,该拦截器负责在请求中添加Authorization头。
以下是一个示例拦截器代码,该代码在请求中添加了一个Bearer Token:
```java
public class AuthorizationHeaderInterceptor implements RequestInterceptor {
private final String token;
public AuthorizationHeaderInterceptor(String token) {
this.token = token;
}
@Override
public void apply(RequestTemplate template) {
template.header("Authorization", "Bearer " + token);
}
}
```
使用该拦截器,您可以在Feign客户端中添加一个配置类,将该拦截器注册到Feign客户端中:
```java
@Configuration
public class FeignClientConfiguration {
@Bean
public RequestInterceptor requestInterceptor() {
return new AuthorizationHeaderInterceptor("your-bearer-token");
}
}
```
在以上示例中,您需要将`your-bearer-token`替换为您的Bearer Token。
然后,在您的Feign客户端接口中,使用`@Configuration`注解指定您的配置类:
```java
@FeignClient(name = "your-service-name", configuration = FeignClientConfiguration.class)
public interface YourFeignClient {
// ...
}
```
在以上示例中,您需要将`your-service-name`替换为您要访问的服务的名称。
阅读全文