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

2024-01-08

我们正在使用 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-content-setting-headers-per-target https://github.com/Netflix/feign#user-content-setting-headers-per-target

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Feign 客户端设置请求头? 的相关文章

随机推荐