2016-01-24 63 views
2

我正在为调查交付设计一个API。每过一段时间,客户都会对调查进行调查,并检查是否有针对该用户的调查。404是否是当前不存在的资源的正确返回码?

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

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

确实资源不存在,但与此同时,404是“客户端错误”,并且由于没有发生错误而返回它感觉错误。答复的意思是说“目前没有调查,稍后再检查”。什么是适当的响应代码?

+0

如果访问不存在的资源(例如违反合同)是*错误*,400可能会更好。投票机制感觉很奇怪。 – user2864740

+1

是的,最好返回一个404状态代码,并附上一个不错的页面,说明“目前没有调查,稍后再检查”。 – wogsland

回答

3

而不是“获得调查”API,如果还没有可用的调查,则必须表现不一致—或者有多个调查可用—创建“获取调查列表”API可能会更好,无论此列表是否为空,只包含一个元素或包含多个元素,都始终成功。

相关问题