feign调用中传递token
feign提供了RequestInterceptor,
package com.example.duohoob.interceptor;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import feign.RequestInterceptor;
import feign.RequestTemplate;
/**
* feign调用传递token
* @author yangwei
* @date 2022年11月12日
*/
public class FeignTokenInterceptor implements RequestInterceptor {
private static final String ACCESS_TOKEN = "token";
@Override
public void apply(RequestTemplate requestTemplate) {
// TODO Auto-generated method stub
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
requestTemplate.header(ACCESS_TOKEN, request.getHeader(ACCESS_TOKEN));
}
}