Spre deosebire de clienții clasici blocați pe fir de execuție (thread-per-request), WebClient este clientul HTTP asincron și non-blocant din modulul Spring WebFlux. Acesta poate gestiona mii de cereri simultane cu un număr foarte mic de fire de execuție ale nucleului JVM.
Returnează fluxuri reactive Mono<T> (pentru un singur rezultat) sau Flux<T> (pentru fluxuri continui de date), fiind soluția optimă pentru arhitecturile de microservicii cu cerințe stricte de latență și debit ridicat.
Exemplu: Apel non-blocant cu WebClient returnând un Mono reactiv
package ro.dexblog.demo.client;
import org.springframework.stereotype.Service;
import org.springframework.web.reactive.function.client.WebClient;
import reactor.core.publisher.Mono;
@Service
public class StockApiClient {
private final WebClient webClient;
public StockApiClient(WebClient.Builder builder) {
this.webClient = builder.baseUrl("https://api.dexblog.ro/stocks").build();
}
public Mono getStockPriceAsync(String symbol) {
return webClient.get()
.uri("/{symbol}/price", symbol)
.retrieve()
.bodyToMono(Double.class);
}
}
Întrebări & Exemple de Cod:
WebClient în Spring WebFluxAi o nelămurire despre utilizarea comenzii
WebClient în Spring WebFluxsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.