我有一个REST服务' A'这取决于外部服务' B'执行任务。
如果' B'当时不提供' A'需要它来满足请求,我应该返回什么状态?
在这种情况下,503是否合适?在某种程度上,我们可以说服务' A'由于无法执行所有工作,因此无法使用,但实际上只有相关服务不可用。
答案 0 :(得分:1)
从API使用者的角度来看,它不会影响您的服务器或您正在代理的上游服务器是否不可用。您可以返回500
或503
:
6.6.1. 500 Internal Server Error
500
(内部服务器错误)状态代码表示服务器 遇到意外情况,无法实现 请求。
6.6.4. 503 Service Unavailable
503
(服务不可用)状态代码表示服务器 由于临时过载,目前无法处理请求 或定期维护,一些后可能会缓解 延迟。服务器可以发送Retry-After
标头字段 建议适当的时间 客户端在重试请求之前等待。 [...]
例如,如果操作是只读的,您可能希望返回一些缓存/默认数据以避免错误。