feign如何传token
时间: 2023-11-12 16:06:44 浏览: 121
在使用Feign进行请求时,可以通过多种方式传递Token。以下是几种常见的方法:
1. 在请求头中添加Token:在Feign的请求方法中,使用@RequestHeader注解来添加Authorization头部,并将Token值作为参数传递。示例代码如下:
```java
@FeignClient(name = "your-service")
public interface YourServiceClient {
@GetMapping("/your-api")
YourResponse yourApiMethod(@RequestHeader("Authorization") String token);
}
```
2. 在请求参数中传递Token:将Token作为请求参数之一传递给Feign的请求方法。示例代码如下:
```java
@FeignClient(name = "your-service")
public interface YourServiceClient {
@GetMapping("/your-api")
YourResponse yourApiMethod(@RequestParam("token") String token);
}
```
3. 使用Interceptor拦截请求:通过自定义Interceptor,在请求发送之前拦截请求,并在请求头或请求参数中添加Token。示例代码如下:
```java
public class TokenInterceptor implements RequestInterceptor {
private final String token;
public TokenInterceptor(String token) {
this.token = token;
}
@Override
public void apply(RequestTemplate requestTemplate) {
requestTemplate.header("Authorization", token);
}
}
@Configuration
public class FeignConfig {
@Value("${your.token}")
private String token;
@Bean
public RequestInterceptor requestInterceptor() {
return new TokenInterceptor(token);
}
}
```
上述方法中,需要根据你的具体情况选择适合的方式来传递Token。
阅读全文