解决Feign接口调用有时候不好用的分析思路

很多架构师为了鉴权,会把controller带过来的header信息一股脑的利用feign的拦截器带入RequestTemplate,然后方便feign接口鉴权。这时候可能会带入其他的header信息,比如content-type,而有的feign接口是对特定对header信息有要求的,所以调用不通。

分析思路:
可以找到SynchronousMethodHandler的源代码,可以利用调用feign接口时候,步入进去到这个class文件


final class SynchronousMethodHandler

然后在这个方法设置断点,看看带过来到template是否为多个或者有不一样到内容。

Request targetRequest(RequestTemplate template) {
  for (RequestInterceptor interceptor : requestInterceptors) {
    interceptor.apply(template);
  }
  return target.apply(new RequestTemplate(template));
}

你可能感兴趣的:(解决Feign接口调用有时候不好用的分析思路)