我们正在设计一个 RESTful API 来返回文档集合。我们的初始实现使用 HTTP 状态代码来指示请求是否无法完成。这似乎是一种被广泛接受的最佳实践(例如,参见此处)。
我们最近遇到了一个用户提取 1000 个文档的问题。其中一个文档检索失败,因此我们返回了 HTTP 500 状态代码。
另一种方法是返回一个 HTTP 200 状态代码,其中包含我们能够检索到的 999 个文档的有效负载,然后是一个错误集合,指示失败的那个。
这种替代方法是否违反了 RESTful 原则?这种情况应该如何处理?除了这两种方法之外,还有其他选择吗?