RESTful 获取多个实体时对单个实体中数据损坏的响应

RESTful response for data corruption in a single entity when getting multiple entities

当其中一个实体出现数据损坏错误时,我在为 GET 多个实体的 REST API 选择最合适的响应时面临两难境地。假设我有一个 REST API,如下所示:

GET /employees?department=&manager=

returns 一个员工列表,可能应用了一些过滤。

从上游(数据库或其他 Web 服务等)获取数据时,我发现符合条件的一名员工的数据已损坏。例如,数据无法解析或不满足该数据实体所需的某些先决条件。

什么是最合适的(从 API 的角度)RESTful 回应?我应该继续处理所有其他员工并简单地忽略错误并在响应中省略它,还是使用 500 Internal Server Error 错误输出,或者在返回其他“好”员工的同时在单独的字段中包含响应中的错误?

我知道这在一定程度上是基于个人意见的,但如果能提供一些建议,我们将不胜感激。

如果你想 return 一个错误,这(对我来说)是一个服务器错误,我认为 500 确实是最合适的错误。

是否要 return 一个错误,或一个不完整的警告列表,取决于您的应用程序要求它做什么。