我想在 my 中添加一个全局错误过滤器WebClient
,以便任何不200 OK
导致异常的异常和响应。
问题:以下已经有效,但如果 url 主机连接完全断开 ( java.net.ConnectException
),则过滤器根本不会执行:
WebClient.Builder builder;
builder.filter(errorFilter());
public static ExchangeFilterFunction errorFilter() {
return ExchangeFilterFunction.ofResponseProcessor(clientResponse -> {
if (!clientResponse.statusCode().equals(HttpStatus.OK)) {
return Mono.error(new MyCustomException());
}
return Mono.just(clientResponse);
});
}
用法:
webClient.post().syncBody(body).retrieve().block();
问题:如何在此处添加一个全局错误过滤器来捕获这些类型的异常?