当前位置: 首页 > 知识库问答 >
问题:

Spring boot Web客户端异常处理

楚望
2023-03-14

我正在尝试处理下游服务抛出的异常并捕获错误代码以及错误响应消息。在网上搜索了一些解决方案后,我看到了下面处理异常的常用方法,但我真的不确定我必须在我的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);

共有1个答案

岳城
2023-03-14

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

 类似资料:
  • 我有一个使用RESTEasy的简单客户端,如下所示: 服务器配置为在以及一条有用的信息。正在抛出一个。除了包装在中之外,我如何使捕获异常并以字符串形式返回响应的有用消息。我尝试了各种实现,但似乎都是正确的。上述代码从未调用。我错过了什么? 我目前的解决方法是使用,然后执行并将原始状态填充到响应实体中。这样我就避免了异常抛出。

  • 那么如何提取错误代码呢?我想提取错误代码并构建一个responseEntity 我得到了这段代码,但不知道如何在函数中使用。

  • 我使用Apache Ignite 2.7.5作为.NET核心中服务器和瘦客户机。当我做与缓存相关的操作时,put、get和load等.net核心应用程序会自动崩溃。 因此,我想处理for循环内部的异常,例如、、等,然后从catch块抛出for循环,否则如果只有异常块,则继续循环迭代。

  • 我对netty比较陌生,不确定自己做的事情是否正确。我会尽量短一点。如果有任何不清楚的地方,请询问更多信息。 因此,我有一个提供HTTP请求的netty服务器,其中的内容应该是序列化为Json字符串的protobuf消息。 通道管道如下所示: 前两个通道处理程序是标准的netty工具, HttpProtobufServerCodec类似于: 和HttpToProtobufDecoder类似于: 因

  • 我最近从Ruby的Net:HTTP类切换到rest-client 1.6.7。

  • 我的项目是客户端/服务器,客户端发送一个对象到服务器,服务器响应,所有这些都是通过RMI 客户项目 //接口 //我需要把它发给的班级 //客户端 //服务器项目 //接口公共接口RMI_接口扩展了远程{ //类,我将发送和接收它公共类Employee实现可序列化的{int ID; //类来保存所有接收到的对象公共类Maneger{ //服务器公共类RMI_server扩展了UnicastRemo