如果缺少服务以返回数据,则返回什么http状态

时间:2018-05-08 18:06:53

标签: http-status-codes

我有一个REST服务' A'这取决于外部服务' B'执行任务。

如果' B'当时不提供' A'需要它来满足请求,我应该返回什么状态?

在这种情况下,503是否合适?在某种程度上,我们可以说服务' A'由于无法执行所有工作,因此无法使用,但实际上只有相关服务不可用。

1 个答案:

答案 0 :(得分:1)

从API使用者的角度来看,它不会影响您的服务器您正在代理的上游服务器是否不可用。您可以返回500503

  

6.6.1. 500 Internal Server Error

     

500(内部服务器错误)状态代码表示服务器     遇到意外情况,无法实现     请求。

  

6.6.4. 503 Service Unavailable

     

503(服务不可用)状态代码表示服务器     由于临时过载,目前无法处理请求     或定期维护,一些后可能会缓解     延迟。服务器可以发送Retry-After标头字段     建议适当的时间     客户端在重试请求之前等待。 [...]

例如,如果操作是只读的,您可能希望返回一些缓存/默认数据以避免错误。