我想从 sendRequest() 方法返回状态代码,而不仅仅是能够打印该值。谁能指出如何将下面的代码修改为"wait for the Mono to complete"
?
我知道我可以使用Thread.sleep(1000);
,但这似乎不是一个好方法!
private fun sendRequest(url:String): Disposable {
val webClient= WebClient.builder().baseUrl(url.trim())
.defaultHeaders { header: HttpHeaders ->
header.setBasicAuth("username", "password") }
.build();
return webClient.get()
.uri(url)
.exchange()
.map { response: ClientResponse -> response.statusCode() }
.subscribe { v -> printStatus(v)}
}
fun printStatus(statusMono: HttpStatus) {
println(statusMono)
}
我知道,由于我在 Webflux 应用程序中使用 WebClient,我必须将 Mono 或 Flux 一直返回给调用客户端,因为调用客户端是订阅者。但我不知道如何。