Api 获取REST中的项目列表时,未找到任何项目

Api 获取REST中的项目列表时,未找到任何项目,api,rest,api-design,Api,Rest,Api Design,这更像是一个最佳实践问题,但你们中的一些人可能对这里可能产生的影响有一些见解。假设我打电话: GET /v1/items/ 没有找到任何项目 我应该返回: 只有404 带空数组的200 404,带有空数组 ? 取决于您希望如何处理响应。 如果数组为空,我会选择200,表示REST调用成功,但没有找到匹配项。这将有助于使用去序列化响应的层 如果您严重依赖HTTP状态码进行下游处理/错误处理/错误消息,那么404就可以了。如果请求通常也通过浏览器执行,则这会很有帮助。这也是一种纯粹的方法 我看不到

这更像是一个最佳实践问题,但你们中的一些人可能对这里可能产生的影响有一些见解。假设我打电话:

GET /v1/items/
没有找到任何项目

我应该返回:

  • 只有404
  • 带空数组的200
  • 404,带有空数组
  • ?

  • 取决于您希望如何处理响应。 如果数组为空,我会选择200,表示REST调用成功,但没有找到匹配项。这将有助于使用去序列化响应的层

    如果您严重依赖HTTP状态码进行下游处理/错误处理/错误消息,那么404就可以了。如果请求通常也通过浏览器执行,则这会很有帮助。这也是一种纯粹的方法

    我看不到第三种选择有任何附加值