如何在Spring WebClient 中添加 Filters
1. 概述
在本文中,我们将讨论Spring WebFlux中的WebClient过滤器,WebFlux是一个功能强大、反应性强的web框架
2. Request Filters
Request Filters过滤器可以拦截、检查和修改客户机请求(或响应)。过滤器非常适合为每个单独的请求添加功能。使用场景包括监视、修改、记录和验证客户机请求
一个请求包含由零个或多个过滤器组成的有序链
在Spring Reactive中,过滤器是ExchangeFilterFunction功能接口的实例。过滤器函数有两个参数:要修改的ClientRequest和下一个ExchangeFilterFunction。
通常,一个过滤器函数通过调用过滤器链中的下一个返回:
ExchangeFilterFunction filterFunction = (clientRequest, nextFilter) -> {
LOG.info("WebClient fitler executed");
return nextFilter.exchange(clientRequest);
};
3. WebClient Filtering
在实现请求过滤器之后,我们必须将其添加到WebClient实例中,这只能在创建WebClient时完成。
那么,让我们看看如何创建一个WebC