这是一个最佳实践问题,但是你们中的一些人可能会对这里可能产生的影响有所了解。我想说我打电话:
GET /v1/items/
并且没有找到任何物品。
我应该回来:
答案 0 :(得分:2)
取决于您希望如何处理响应。 我会用空数组去200,表明REST调用成功但找不到匹配项。这对于消耗deerialized响应的层有用。
如果您严重依赖HTTP状态代码进行下游处理/错误处理/错误消息,那么404就可以了。如果请求通常也通过浏览器执行,这将非常有用。而这也是一种纯粹的做法。
我没有看到第三个选项有任何附加价值。