我们正在使用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-每个目标的内容设置标题