如何在Feign中使用自定义请求头?
时间: 2024-09-28 22:12:57 浏览: 49
在Feign中设置自定义请求头,通常会在创建Feign客户端实例时进行配置。下面是一个简单的例子,展示了如何为每个请求添加全局的HTTP头部:
```java
import feign.RequestInterceptor;
import feign.RequestTemplate;
public class CustomHeaderInterceptor implements RequestInterceptor {
private final String authorizationToken; // 这里的token是你想要添加的自定义头
public CustomHeaderInterceptor(String authorizationToken) {
this.authorizationToken = authorizationToken;
}
@Override
public void apply(RequestTemplate requestTemplate) {
requestTemplate.header("Authorization", authorizationToken);
// 可以添加其他自定义头,如 requestTemplate.header("Custom-Header", "Value");
}
}
// 使用拦截器创建Feign Client
Feign.Builder builder = Feign.builder();
builder.requestInterceptors(new CustomHeaderInterceptor("Bearer " + yourAccessToken));
YourApi yourApi = builder.target(YourApi.class, "https://your-api-url");
```
在这个例子中,`CustomHeaderInterceptor`实现了`RequestInterceptor`接口,并在`apply`方法中设置了自定义的`Authorization`头部。然后在构建Feign client时,我们将其注册为请求拦截器。
阅读全文