Tud*_*dor 7 java spring webclient
所以我有以下代码来对远程计算机执行 GET 操作:
webClient.get()
.uri(myUri)
.accept(MediaType.APPLICATION_JSON)
.retrieve()
.bodyToMono(String.class)
.subscribe(text -> {
LOG.info(text);
});
Run Code Online (Sandbox Code Playgroud)
我得到这个异常,没问题,我期待着它,但很难找到任何文档如何处理这些错误:
reactor.core.Exceptions$ErrorCallbackNotImplemented: java.net.UnknownHostException
Run Code Online (Sandbox Code Playgroud)
要处理这些异常,您需要添加以下内容,并根据您的情况进行调整(在我的情况下,如果我收到 unkownHostException,我只需记录一条警告,表明所请求的服务不存在:
webClient.get()
.uri(myUri)
.accept(MediaType.APPLICATION_JSON)
.retrieve()
.bodyToMono(String.class)
.onErrorResume(e -> {
if (e instanceof UnknownHostException) {
LOG.warn("Failed to get myStuff, desired service not present");
} else {
LOG.error("Failed to get myStuff");
}
return Mono.just("Encountered an exception");
})
.subscribe(text -> {
LOG.info(text);
});
Run Code Online (Sandbox Code Playgroud)
您处理错误,并将某些内容发送到下一步。我真的希望有一种方法可以停下来,不让任何东西流入管道。