return REST API 的部分成功响应的好方法是什么?

What is a good way to return a partial success response for a REST API?

我正在处理一个对下游有依赖性的用例 API。问题是我的单个资源由下游服务的多个资源组成。因此,对我的 API 的一次写入可能在内部对外部服务进行多次调用,并且这些调用中的任何一个都可能失败。

在一切正常的情况下,我 return 发送一个 200 OK 空响应,在无效请求或服务器错误的情况下,我 return 发送一个单独的错误响应。在部分成功的情况下我应该return怎么办?我知道 207 多状态响应代码,但不确定它是否适用于此处,因为它看起来更适用于批处理操作。带有失败子实体列表的 207 响应看起来是目前最好的选择。任何更简洁的方法的想法将不胜感激。

这更像是一种设计选择,所以最后我采用了以下响应模型 1. Success - 200 OK with applicable body 2. 部分成功 - 200 OK,带有适用的正文和警告 3. Failure(4xx/5xx) - 列出错误的错误正文