404是否是目前不存在的资源的正确返回码?

时间:2016-01-24 01:33:18

标签: api rest http

我正在设计一个用于调查交付的API。每隔一段时间,客户就会轮询调查并检查是否有针对该用户的调查。

如果调查存在,我会将其退回(200 OK)。

但是如果目前没有安排调查,那么返回404适当的吗?

资源确实不存在,但同时,404是"客户端错误",并且返回它感觉不对,因为没有发生错误。答案是说"目前没有调查。稍后再检查"。什么是适当的响应代码?

1 个答案:

答案 0 :(得分:3)

取代"获取调查" API,如果还没有可用的调查,则必须表现不一致 - 或者如果有多个调查可用 - 最好创建一个"获取调查列表" API,无论此列表是否为空,总是成功,只包含一个元素,或包含多个元素。