如何使用Feign客户端设置请求标头



我们正在使用Spring Cloud框架开发一套微服务,我们需要做的事情之一就是设置请求头。我知道我可以将参数@RequestHeader传递给Feign方法,但该值需要来自另一个bean。我不知道SPEL是否可以用于Feign参数值。我想这对大多数客户来说是一个足够常见的用例,所以会有一些例子,但到目前为止我还没有找到。当然,我可以深入研究Spring课程代码,并尝试覆盖默认的Feign配置,但如果我必须编写大量代码来实现这一点,这有点违背了声明性客户端的目的。有什么想法吗?

我在使用RequestInterceptor之前已经这样做了,如下所示:

@Component
public class MyRequestInterceptor implements RequestInterceptor {
  @Override
  public void apply(RequestTemplate template) {
    template.headers(getHeadersFromWherever());
  }
}

你可以在这里找到一些更有用的信息:

https://github.com/Netflix/feign#user-每个目标的内容设置标题

最新更新