Es gibt eine Klasse WebClient and ClientRequest
im Frühjahr Web-reaktiv. Wenn wir in der Dokumentation nachsehen, ist der Weg zum ClientRequest mit dem WebClient.Spring-Boot-Starter-Web-reaktive M4 Abhängigkeit
WebClient client = WebClient.create(new ReactorClientHttpConnector());
ClientRequest<Void> request = ClientRequest.GET("http://example.com/resource").build();
Mono<String> result = client
.exchange(request)
.then(response -> response.bodyToMono(String.class));
Aber leider ClientRequest.GET Methode ist mit der gradle Abhängigkeit nicht verfügbar ich in meinem Projekt hinzugefügt haben. Unten ist die Graddle Abhängigkeit die ich verwende:
dependencies {
compile('org.springframework.boot.experimental:spring-boot-starter-web-reactive')
compile('org.springframework.cloud:spring-cloud-starter-eureka')
compile('org.springframework.boot:spring-boot-starter-hateoas')
compile('io.reactivex:rxjava')
compile('io.reactivex:rxjava-reactive-streams')
//Spring Test case dependency
testCompile("org.springframework.boot:spring-boot-starter-test")
testCompile('io.rest-assured:rest-assured:3.0.1')
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:Dalston.BUILD-SNAPSHOT"
mavenBom "org.springframework.boot.experimental:spring-boot-dependencies-web-reactive:0.1.0.BUILD-SNAPSHOT"
}
}
Ich konnte die Abhängigkeiten für M4 nicht finden. Wird M4 irgendwo in einem Repository veröffentlicht?
Dank @Brain für Ihre Antwort. Ich konnte den WebClient verwenden, aber jetzt gibt es ein anderes Problem. Wenn vom Remote-Dienst eine Fehlerreaktion erfolgt, werden die vom Remote-Dienst gesendeten Daten nicht bereitgestellt. Ich rufe einen Mikroservice von meinem reaktiven Ruhe-Controller und im Fehlerfall übergibt er nur den HttpStatus an meinen Ruhe-Controller. Sie finden die Details hier http://stackoverflow.com/questions/42045267/calling-micro-service-using-webclient-sprint-5-reactor-web –