From db56eddf842db4171bf9ff17f9ac82e544d5031b Mon Sep 17 00:00:00 2001 From: asahi Date: Tue, 3 Jun 2025 12:55:01 +0800 Subject: [PATCH] =?UTF-8?q?doc:=20=E9=98=85=E8=AF=BBwebclient=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spring/webflux/webclient.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/spring/webflux/webclient.md b/spring/webflux/webclient.md index 2d0bbf1..bb65aec 100644 --- a/spring/webflux/webclient.md +++ b/spring/webflux/webclient.md @@ -450,5 +450,25 @@ public class MultipartExchangeFilterFunction implements ExchangeFilterFunction { } } ``` +## Attributes +可以向request中添加attributes,并且可以通过attributes来影响filter中的行为 +```java +WebClient client = WebClient.builder() + .filter((request, next) -> { + Optional usr = request.attribute("myAttribute"); + // ... + }) + .build(); + +client.get().uri("https://example.org/") + .attribute("myAttribute", "...") + .retrieve() + .bodyToMono(Void.class); + + } +``` +除此之外,可以通过`org.springframework.web.reactive.function.client.DefaultWebClientBuilder#defaultRequest`方法为`webClient`注册一个callback回调,该回调可为所有请求插入attribute。 + +