springcloud openfeign 3.1.9 设置请求投
时间: 2024-10-21 21:11:49 浏览: 33
Spring Cloud OpenFeign是一个基于Netflix Feign的超轻量级API客户端库,它简化了服务发现和调用远程服务的过程。在3.1.9版本中,设置请求头主要是通过`@RequestLine`注解和`RequestInterceptor`来完成的。
1. **添加请求头**:如果你想要向服务添加自定义请求头,例如认证信息,可以在FeignClient接口的方法上使用`@RequestLine`注解,并在其中指定`headers`属性。例如:
```java
@FeignClient(name = "your-service", url = "${your.service.url}")
public interface YourServiceClient {
@RequestMapping(value = "/api", method = RequestMethod.GET)
String getData(@RequestLine("Authorization: Bearer {token}") String token);
}
```
这里,`Bearer {token}`会被实际传入的token值替换。
2. **全局请求拦截器**:如果你想对每个请求都添加相同的头部,可以创建一个`RequestInterceptor`实现`org.springframework.web.client.RestTemplate`的`Intercepter`接口,然后注册到全局配置中:
```java
@Configuration
public class GlobalFeignConfig {
@Bean
public RequestInterceptor requestHeaderInterceptor() {
return new RequestInterceptor() {
@Override
public void apply(RequestTemplate request) {
request.header("X-Custom-Header", "value");
}
};
}
@Bean
@Primary
public ClientFactory defaultFeignClientFactory() {
return new Feign.Builder()
.globalRequestInterceptor(requestHeaderInterceptor())
.build();
}
}
```
这样,每次调用FeignClient都会包含这个自定义的头部。
阅读全文