2017-12-26 3 views
0

Ich verwende Sping webflux Modul und erstellen Sie eine WebClient, fordern uri und Körper fordern Sie wie folgt vor:Wie Einfügen Körper mit BodyInserts in Spring5?

// create webclient 
WebClient wc3 = WebClient.builder() 
          .baseUrl("http://localhost:8080") 
          .defaultCookie("key", "val") 
          .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) 
          .build(); 
// set uri 
WebClient.RequestBodySpec uri1 = wc3.method(HttpMethod.POST).uri("/getDocs"); 


// set a request body 
WebClient.RequestBodySpec requestSpec1 = WebClient.create().method(HttpMethod.POST).uri("/getDocs") 
               .body(BodyInserters.fromPublisher(Mono.just("data")), String.class); 

und wenn ich die Anfrage Körper setze, erhalte ich die folgende Kompilierungsfehler:

Multiple markers at this line 
    - Type mismatch: cannot convert from Mono<String> to P 
    - The method fromPublisher(P, Class<T>) in the type BodyInserters is not applicable for the arguments 
    (Mono<String>) 

Der Java-Editor zeigt nur "Rename in Datei" als Vorschlag.

Ich bin mir nicht sicher, ob ich die BodyInserter perfekt benutze oder nicht. Bitte vorschlagen.

Antwort

1

Es hat wie dieses

// set a request body 
WebClient.RequestHeadersSpec<?> data = WebClient.create().method(HttpMethod.POST).uri("/getDocs") 
               .body(BodyInserters.fromPublisher(Mono.just("data"), String.class)); 
sein
Verwandte Themen