如果返回 http client/server 错误,我们应该记录还是抛出异常? - Java, SpringBoot

If http client/server error is returned should we log or throw exception? - Java, SpringBoot

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

你应该两者都做:

  • 告诉您的客户发生了错误
  • 为了维护目的记录错误

解决第一点的一种方法是将错误处理集中在一个地方,您可以为此使用带注释的 @RestControllerAdvice class.

我建议你两者都做。

下游API呼叫失败时是否有回退响应?

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

:记录错误并向客户端发送适当的响应以及响应代码和消息。

我建议有一个通用的 API 错误响应,它应该发送有效的响应代码和 http 状态代码。