拦截来自 Java 应用程序的所有 HTTP 请求

Sun*_*nil 3 java rest spring http-headers

在我们的项目中,我们需要在发送到其他内部 API 的所有 REST 调用中传递特定的标头信息。

一种方法是在发起 REST 调用之前更改所有数百甚至数千个 REST 调用以添加此映射。

但是,我想知道是否有一种更聪明的方法可以使用 Spring/Java 中的方面/过滤器/侦听器/拦截器来做到这一点?

示例:如果我从 REST API 1 调用端点,我会尝试探索一种方法来拦截构造的 HTTP 请求并添加标头并触发请求。

欢迎任何有关解决问题的建议或任何其他良好实践。

谢谢。

Sun*_*nil 7

对于任何将来偶然发现这篇文章的人来说,以下是使其发挥作用所需的方法。

实现一个“实现”ClientHttpRequestInterceptor 的类。需要重写的方法是您可以捕获请求标头并修改它们的地方。