微服务通过feign调用时,跨服务间调用传递header

本文介绍了在微服务架构中,使用Feign进行跨服务调用时如何通过拦截器实现header的传递。重点讲解了如何创建拦截器以封装header,并在Feign的注册配置中设置全局RequestInterceptor。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先需要实现一个拦截器进行封装:

@Component
public class HystrixRequestWrapInterceptor implements HandlerInterceptor {
	
	public static final HystrixRequestVariableDefault<HttpServletRequest> REQUEST = new HystrixRequestVariableDefault<>();
	
	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {
		// 在当前线程初始化HystrixRequestContext, 并设置请求头
		if (!HystrixRequestContext.isCurrentThreadInitialized()) {
		    HystrixRequestContext.initializeContext();
		}
		REQUEST.set(request);
		
		return true;
	}

	@Override
	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
			ModelAndView modelAndView) throws Exception {
		// do nothing
	}

// 销毁当前线程
	@Override
	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
			throws Exception {
	    if (HystrixRequestContext.isCurrentT
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值