配置request中 的header往微服务传递
public class FeignClientInterceptor implements RequestInterceptor {
@Override
public void apply(RequestTemplate requestTemplate) {
ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
if(requestAttributes!=null){
HttpServletRequest request = requestAttributes.getRequest();
//取出当前请求的header,找到jwt令牌
Enumeration<String> headerNames = request.getHeaderNames();
if(headerNames!=null){
while (headerNames.hasMoreElements()){
String headerName = headerNames.nextElement();
String headerValue = request.getHeader(headerName);
// 将header向下传递
requestTemplate.header(headerName,headerValue);
}
}
}
}
}
调用方启动类 注入bena
@Bean
public FeignClientInterceptor getFeignClientInterceptor(){
return new FeignClientInterceptor();
}