首页 > 解决方案 > Spring boot Web-Client 异常处理

问题描述

我正在尝试处理下游服务引发的异常并捕获错误代码以及错误响应消息。在网上搜索了一些解决方案后,我看到了以下处理异常的常用方法,但我真的不确定我必须在 MyCustomConnectionException 中写什么?顺便说一句,当我使用Resttemplate时,我可以通过抛出HttpClientResponseException并捕获所有内容来轻松处理,但这里真的不确定这是如何工作的?我是使用 Webclient 和 Spring 反应技术的新手。有人可以帮我吗。?

        Mono<String> result = client.get()
        .uri("/api/{id}", id).accept(MediaType.APPLICATION_JSON)
        .retrieve()
        .onStatus(HttpStatus::is4xxClientError, response -> {

             return Mono.error(new MyCustomConnectionException());
         })
        .bodyToMono(String.class);

标签: springspring-bootjava-8spring-webfluxspring-webclient

解决方案


当由于您的 Web 客户端配置错误而发生任何错误时,MyCustomConnectionException 类可以抛出您希望返回的任何自定义消息,例如不正确的 URL 或缺少身份验证密钥。


推荐阅读