我爱java系列---微服务中feign拦截器的使用
Posted hujunwei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我爱java系列---微服务中feign拦截器的使用相关的知识,希望对你有一定的参考价值。
1.为什么要用feign拦截器?
作用:由于服务整合了oauth2,在被调用时需要传递令牌才能正常调用,feign拦截器的作用就是为了在服务之间传递令牌。
2.feign拦截器怎么用?
(1)创建拦截器(一般定义在全局中)
@Component public class FeignInterceptor implements RequestInterceptor @Override public void apply(RequestTemplate requestTemplate) RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes(); if (requestAttributes!=null) HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest(); if (request!=null) Enumeration<String> headerNames = request.getHeaderNames(); if (headerNames!=null) while (headerNames.hasMoreElements()) String headerName = headerNames.nextElement(); if (headerName.equals("authorization")) String headerValue = request.getHeader(headerName);//Bearer jwt requestTemplate.header(headerName,headerValue);//向下传递令牌
2) 更改changgou_order_web启动类,添加拦截器声明
@Bean public FeignInterceptor feignInterceptor() return new FeignInterceptor();
以上是关于我爱java系列---微服务中feign拦截器的使用的主要内容,如果未能解决你的问题,请参考以下文章
我爱java系列之---微服务中SpringSecurity权限控制使用步骤
Spring Cloud Alibaba - 15 微服务之间使用Feign实现参数的透传