屬性
您可以將屬性新增至請求。如果您想要通過篩選器鏈傳遞資訊並影響特定請求的篩選器行為,這會很方便。例如
-
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
資料填入請求屬性。