Spring cloud Feign如何将客户端的request中的token添加到Feign中呢?

戚薇 Spring Cloud 发布时间:2023-05-05 20:56:49 阅读数:15959 1
由于整个项目采用多个模块开发,每个模块都必须授权才可以访问,服务同服务之间采用Feign调用,
此时服务A调用服务B时,会出现提示没有token,未授权访问的异常提示,那么此时我们需要将客户端请求时
带过来的token代入到Feign中,那么如何处理此类异常呢?下文笔者将一一道来,如下所示
拦截Feign的头文件,我们只需实现RequestInterceptor接口
    实现Apply方法
然后将此配置类放入Feign客户端中,即可实现Feign请求头的改写操作
例:
 
@Configuration
public class FeignConfiguration implements RequestInterceptor {
 
    private final Logger logger = LoggerFactory.getLogger(getClass());
 
    @Override
    public void apply(RequestTemplate template) {
        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder
                .getRequestAttributes();
        HttpServletRequest request = attributes.getRequest();
        String authorization = request.getHeader("Authorization");
 
        template.header("Authorization", authorization);
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/SpringCloud/202305/6363.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者