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

如果超文本传输协议客户端/服务器错误返回,我们应该记录还是抛出异常?-Java, SpringBoot

昝存
2023-03-14

我正在使用Spring Boot在Java中使用微服务架构。我对它很陌生,我想知道例如我是否无法获得我正在调用的服务的答案,如果返回http客户端/服务器错误,我们应该记录还是抛出异常?

共有2个答案

林龙野
2023-03-14

我建议你两者都做。

如果下游API调用失败,是否有回退响应?

是:发送响应并记录错误。

否:记录错误并将适当的响应连同响应代码和消息一起发送给客户机。

我建议有一个通用的API错误响应,它应该发送有效的响应代码以及超文本传输协议状态代码。

余弘新
2023-03-14

您应该同时执行这两项操作:

    < li >告诉您的客户发生了错误 < li >出于维护目的记录错误

对于第一点,一种方法是将错误处理集中在一个地方,您可以使用< code > @ RestControllerAdvice 注释类。

 类似资料:
  • httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。 通常,httpd不应该被直接调用,而应该在类Unix系统中由apachectl调用,在Windows NT/2000/XP/2003中作为服务运行和在Windows 95/98/ME中作为控制台程序运行. 语法 httpd [ -d serverroot ]

  • 我的LogCat: 签名密钥(sw)为https://api.dropbox.com/1/shares/dropbox/a.jpg?oauth_consumer_key=2f2y1dyuqhp58ek 我对http没有太多经验。。 因为httpPost=新的httpPost(sw);工作正常,这是否意味着基本字符串签名正确? 还是我错过了什么?

  • 我有一个集成流程,我从jms通道读取消息,并使用http-outbound-gateway通过REST api调用发送它们。现在,当我收到一个5xx Http服务器错误时,我希望记录服务的URL以及响应消息。 我看到实例已经记录了URL并调用了一个,它可以是一个自定义实现。 我的问题是:只接收作为参数,我无法知道来自该实例的URL。我需要的是记录服务器错误,例如:“错误URL-响应...” 我该怎

  • 我以前问过这个问题,但没有得到答案。我可以使用下面的方法:“get”让它工作,所以这没关系,但这次我需要使用post。在另一个项目中(使用react、redux、php、webpack、xampp),同样的问题再次出现,我正在努力解决它。这就是: register.php index.js 当我做了以上的一切是好的,数据是日志作为'做某事'。但是,当我尝试使用axios({方法:'POST'})并

  • 我正在努力使用oauth2代理正确设置webflux WebClient。 似乎serveroauth 2 authorizedclientexchangefilterfunction使用了一个新的webclient实例,它不包含我的代理配置。 OAuth2配置 OAuth2AuthorizedClientResolver。类包含: 创建了一个新的WebClient,如下所示: 有没有人有一个如何

  • 我想测试一个连接到Github api的应用程序,下载一些记录并对其进行处理。我想要一个模拟对象,我做了如下操作: 看起来不错吧?我应该在thenReturn中输入什么(它需要HttpResponse,但我不知道如何创建)。谢谢你的回答。如果你有更好的想法,我将不胜感激。 更新:字符串响应是一个示例响应