使用 Spring WebFlux 获取错误时如何返回异常或对象

问题描述

我在 Spring WebFlux 中的 webclient 有问题(webClient 对象是用 WebClient.builder() 创建的)

        WebClient.RequestHeadersUriSpec uriSpec = webClient.get();
        WebClient.RequestHeadeRSSpec<?> bodySpec = uriSpec.uri(route.getUrl());
        System.out.println(route.getUrl());
        
        return bodySpec.exchangetoMono(response -> {
                System.out.println("Code : " + response.statusCode());
                if (response.statusCode()
                        .equals(HttpStatus.OK)) {
                    return response.bodyToMono(classResult);
                } else if (response.statusCode()
                        .is4xxClientError()) {
                    return response.bodyToMono(classResult);
                } else {
                    return response.createException()
                            .flatMap(Mono::error);
                }
            }).doOnError(signal -> System.out.println("Erreur : " + ((WebClientRequestException) 
             signal).getMessage()));

我只能使用 doOnError 方法打印错误。 例如,当我遇到“WebClientRequestException:连接超时”时,有没有办法返回异常或包含错误消息的特定对象 Mono?

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)