属性

リクエストに属性を追加できます。これは、情報をフィルターチェーンに渡し、特定のリクエストに対するフィルターの動作に影響を与える場合に便利です。例:

  • Java

  • Kotlin

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 データに基づいてリクエスト属性を設定するために使用できます。