Feign远程调用自定义只针对调用某个接口时拿到token
时间: 2023-08-03 12:04:27 浏览: 137
您好,对于Feign远程调用,可以自定义拦截器对请求进行处理,例如在请求头中添加token信息。下面是一个简单的示例代码:
```java
@Configuration
public class FeignConfig {
@Autowired
private TokenService tokenService;
@Bean
public RequestInterceptor requestInterceptor() {
return new RequestInterceptor() {
@Override
public void apply(RequestTemplate template) {
// 判断请求的接口是否需要添加token信息
if (template.url().contains("/api/xxx")) {
// 获取token信息
String token = tokenService.getToken();
// 添加token到请求头中
template.header("Authorization", "Bearer " + token);
}
}
};
}
}
```
在上面的代码中,我们通过`@Bean`注解创建了一个`RequestInterceptor`的实例,并在其中进行了判断和处理。具体来说,我们判断了请求的url是否包含`/api/xxx`,如果包含则说明需要添加token信息,我们通过`TokenService`获取token并将其添加到请求头中。这样,当调用该接口时就会自动添加token信息了。
阅读全文