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



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

如果调查存在,我将返回它(200 OK)。

但是,如果目前没有安排调查,返回 404 是否合适?

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

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

最新更新