So bestehen Sie den Reaktionskörper einer HTTP -Anfrage asynchron in Spring WebClientJava

Java-Forum
Guest
 So bestehen Sie den Reaktionskörper einer HTTP -Anfrage asynchron in Spring WebClient

Post by Guest »

Ich arbeite an einer Java Spring -Boot -Anwendung, die eine Webclient zur Behandlung von REST -HTTP -Anforderung implementiert. GET -Anfragen werden zu einem Endpunkt gerufen und die Antwort wird empfangen und einem Mono zugeordnet und dann in der Anwendung weiter verarbeitet. Eine abgespeckte Version der ursprünglichen Methode sieht ähnlich aus: < /p>

Code: Select all

Optional result = client.get()
.uri("/entities/{id}", id).accept(MediaType.APPLICATION_JSON)
.retrieve()
.bodyToMono(MyEntity.class)
.blockOptional();
Jetzt möchte ich den RAW JSON-Reaktionskörper 'abfangen' und ihn mit einem asynchronen (oder nicht blockierenden) E/A-Operation bestehen, ohne den Antwortenfluss durch den Reaktionenfluss zu blockieren oder zu behindern Der Endpunkt. Der Körper wird zuerst in eine Zeichenfolge bestehen, an die Methode übergeben, und dann wird der Körper der MyEntity -Klasse zugeordnet. Eine modifizierte Methode, die erfolgreich anhält und den String -Körper in MyEntity zurückkehren ähnelt ähnlich wie folgt:

Code: Select all

Optional result = client.get()
.uri("/entities/{id}", id).accept(MediaType.APPLICATION_JSON)
.retrieve()
.bodyToMono(String.class)
.doOnNext(responseBody -> persistResponse(responseBody))
.doOnNext(savedResponse -> mapToMyEntity(savedResponse))
.blockOptional();
Ich bin mir nicht sicher, dass dies tatsächlich die richtige Möglichkeit ist, die Funktionalität zu implementieren, und möchte einige Anleitungen zum korrekten Umgang mit dem JSON -Reaktionskörper asynchron, ohne den vorhandenen Fluss zu behindern.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post