企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## [](http://doc.ruoyi.vip/ruoyi-cloud/cloud/feign.html#%E8%AF%B7%E6%B1%82%E6%8B%A6%E6%88%AA%E5%99%A8)请求拦截器 在微服务应用中,通过`feign`的方式实现`http`的调用,可以通过实现`feign.RequestInterceptor`接口在`feign`执行后进行拦截,对请求头等信息进行修改。 例如项目中利用`feign`拦截器将本服务的`userId`、`userName`、`authentication`传递给下游服务 ~~~ /** * 功能说明:Feign调用的时候添加请求头from * 创建人: lihaijun * 创建时间:2019-11-18 */ @Configuration public class FeignConfiguration implements RequestInterceptor { @Override public void apply(RequestTemplate requestTemplate) { ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = attributes.getRequest(); String accountId= request.getHeader(SecConstant.REQUEST_AUTH_HEADER_ACCOUNTID); requestTemplate.header(SecConstant.HEADER_KEY_FEIGN_FROM,SecConstant.HEADER_VALUE_FEIGN_FROM); requestTemplate.header(SecConstant.REQUEST_AUTH_HEADER_ACCOUNTID,accountId); requestTemplate.query(SecConstant.REQUEST_AUTH_HEADER_ACCOUNTID, accountId); } } ~~~