0

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

GET /v1/items/

并且没有找到任何项目。

我应该返回:

  1. 只有404
  2. 200 个空数组
  3. 404 有一个空数组
  4. ?
4

1 回答 1

2

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

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

我没有看到第三个选项的任何附加值。

于 2013-07-31T03:44:15.613 回答