相关依赖引入
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
新建实现 RequestInterceptor 接口的配置类,重写apply方法
import feign.RequestInterceptor;
import feign.RequestTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
@Configuration
public class FeignConfig implements RequestInterceptor {
@Override
public void apply(RequestTemplate requestTemplate) {
String token = "token";//此处设置token的值
requestTemplate.header("token",token);
}
}
然后在feign调用端 设置 configuration
@FeignClient( value = "service-name",configuration = {FeignConfig.class})
public interface TestFeign {
}
这样请求头就会带着token请求到该服务了。
启动类应添加上 这两个注解
@EnableEurekaClient
@EnableFeignClients
来源:oschina
链接:https://my.oschina.net/xiaozhiwen/blog/3175519