コンテキスト

属性は、情報をフィルターチェーンに渡す便利な方法を提供しますが、それらは現在のリクエストにのみ影響します。ネストされた追加のリクエストに伝播する情報を渡したい場合。flatMap を介して、または後に実行されます。concatMap 経由の場合は、Reactor Context を使用する必要があります。

Reactor Context は、すべての操作に適用するために、リアクティブチェーンの最後に入力する必要があります。例:

  • Java

WebClient client = WebClient.builder()
		.filter((request, next) ->
				Mono.deferContextual(contextView -> {
					String value = contextView.get("foo");
					// ...
				}))
		.build();

client.get().uri("https://example.org/")
		.retrieve()
		.bodyToMono(String.class)
		.flatMap(body -> {
				// perform nested request (context propagates automatically)...
		})
		.contextWrite(context -> context.put("foo", ...));