屬性

您可以向請求新增屬性。如果您想透過過濾器鏈傳遞資訊並影響給定請求的過濾器行為,這會很方便。例如

  • 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>()

請注意,您可以在 WebClient.Builder 級別全域性配置 defaultRequest 回撥,這允許您將屬性插入到所有請求中,例如在 Spring MVC 應用程式中,可以根據 ThreadLocal 資料填充請求屬性。

© . This site is unofficial and not affiliated with VMware.