关于feign调用传递header的解决方法

2022年7月24日10:15:17

我现在用feign来实现内部系统的方法调用,但有一个问题,使用国际化的时候语言传递不了,因为在header上。
下面贴一下解决方案:

@Beanpublic RequestInterceptorheaderInterceptor() {returnnew RequestInterceptor() {@Overridepublicvoidapply(RequestTemplate requestTemplate) {
                ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder
                        .getRequestAttributes();
                HttpServletRequest request = attributes.getRequest();
                Enumeration<String> headerNames = request.getHeaderNames();if (headerNames !=null) {while (headerNames.hasMoreElements()) {
                        String name = headerNames.nextElement();
                        String values = request.getHeader(name);
                        requestTemplate.header(name, values);
                    }
                }
            }
        };
    }
hystrix:
  command:default:
      execution:
        isolation:
          strategy:Semaphore
  • 作者:junzibuqi124
  • 原文链接:https://blog.csdn.net/u014519194/article/details/77160958
    更新时间:2022年7月24日10:15:17 ,共 649 字。