当服务拒绝执行请求时,REST API返回代码

时间:2018-04-05 09:48:27

标签: rest http-status-codes

我正在开发一个代表任务管理器的REST API。它接收"用户"谁想要执行任务,但有时服务可能会拒绝该请求。请求格式正确(用户经过身份验证和授权,任务管理器可以理解请求消息等),因此没有4xx错误:它是任务管理器,可能是因为负载过大或拥塞,或者因为无法管理那个请求,拒绝执行请求。不过,它可能能够在以后执行它。

我可以使用包含"请求接受的JSON对象来响应请求" boolean,但我觉得200是错误的状态代码返回。我应该返回另一个状态代码,该代码应该足够雄辩,可以接受或拒绝请求。我应该使用什么状态代码?

1 个答案:

答案 0 :(得分:2)

如果您的API接受请求但未立即执行请求,则可以使用202 ACCEPTED。如果我理解正确的话,这不完全是你的情况吗?

503 SERVICE UNAVAILABLE可能更合适,因为该服务拒绝回应该请求。

  

503 SERVICE UNAVAILABLE服务器当前无法处理   由于临时过载或定期维护而请求   经过一段时间的推迟,可能会有所缓解。