SpringCloud Feign 配置token请求

萝らか妹 提交于 2020-02-28 04:45:22

相关依赖引入

        <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

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!