WebClient în Spring WebFlux în Spring Boot

web Spring Boot 3.x / Reactive WebFlux Q&A / Distribuie cod

Client HTTP reactiv și non-blocant bazat pe Project Reactor: execuție asincronă de înaltă performanță între microservicii.

Sintaxă
WebClient.create().get().uri(url).retrieve().bodyToMono(Class.class)

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);
    }
}

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: WebClient în Spring WebFlux

Ai o nelămurire despre utilizarea comenzii WebClient în Spring WebFlux sau 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.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.