针对外部子系统故障的最佳HTTP代码



我正在开发一个公开REST API的系统。为了满足某些请求,我的系统需要调用外部api。这些api有时会失败(由于内部服务器错误),这些失败会阻止我的系统成功完成操作。

我的系统应该返回的最佳HTTP状态码是什么?我想将外部系统的故障与系统的内部故障区分开来,因此我对返回500不是特别满意。

对于这些情况,我更喜欢HTTP 502:

10.5.3 502坏网关

服务器作为网关或代理,在尝试完成请求时从它访问的上游服务器收到无效响应。

虽然它在技术上更适合于代理,但我认为这是最接近于区分服务器错误(500)和上游服务器错误的方法。

您可能还想考虑在对外部系统的请求超时的情况下返回HTTP 504:

504网关超时时间
服务器充当网关或代理,并且没有收到上游服务器的及时响应。

最新更新