如果已经有答案,我道歉。我发现了相关问题(例如HTTP status code for a partial successful request)但不完全相同。
我正在构建一个API,它返回从多个来源汇总的数据。有时,数据的某些关键部分不可用,必须让客户知道并且错误数据包含在响应中。
除了缺失字段的严重性之外,资源的其余部分是有效且有用的,可以视为部分更新(例如,如果您只有权查看资源的一部分)。
到目前为止,选项是
我偏向于选项1,但我并不完全相信。有一个明确的方法处理这个?也许定义一个特定的content-type
?
答案 0 :(得分:3)
你在这里忽略了这一点,因为500表示系统或通信链失败,并且由于返回了数据,因此必须假定资源存在并被找到。 OP指出的是部分结果,暗示与资源有关的复合数据。这是必要的,除了你已经选择了一个合同,其中部分数据是错误的,因此是一个成功的200,http必须在http的范围之外完成它的工作。