对于最新稳定版本,请使用Spring Framework 7.0.1spring-doc.cadn.net.cn

属性

你可以为请求添加属性。如果你想传递信息,这很方便 通过过滤器链,并影响给定请求的过滤器行为。 例如:spring-doc.cadn.net.cn

WebClient client = WebClient.builder()
		.filter((request, next) -> {
			Optional<Object> usr = request.attribute("myAttribute");
			// ...
		})
		.build();

client.get().uri("https://example.org/")
		.attribute("myAttribute", "...")
		.retrieve()
		.bodyToMono(Void.class);

	}
val client = WebClient.builder()
		.filter { request, _ ->
			val usr = request.attributes()["myAttribute"];
			// ...
		}
		.build()

	client.get().uri("https://example.org/")
			.attribute("myAttribute", "...")
			.retrieve()
			.awaitBody<Unit>()

注意你可以配置defaultRequest全球回拨WebClient.Builder允许你在所有请求中插入属性, 例如,可以在 Spring MVC 应用中使用来填充 基于ThreadLocal数据。spring-doc.cadn.net.cn