Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Spring WebClient上进行全局错误筛选?_Java_Spring_Spring Webclient - Fatal编程技术网

Java 如何在Spring WebClient上进行全局错误筛选?

Java 如何在Spring WebClient上进行全局错误筛选?,java,spring,spring-webclient,Java,Spring,Spring Webclient,我想在我的WebClient中添加一个全局错误过滤器,以便任何异常和非200 OK的响应都会导致异常 问题:以下操作已起作用,但如果url主机连接完全关闭(java.net.ConnectException),则过滤器根本不会执行: WebClient.Builder builder; builder.filter(errorFilter()); public static ExchangeFilterFunction errorFilter() { return ExchangeFi

我想在我的
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()

问题:我如何在这里添加一个全局错误过滤器来捕获这些类型的异常