如果删除仅部分成功,则使用更正的 http 状态代码?

Correct http status code to use if delete was only partially successful?

我有一个 REST API 允许用户删除 nosql 数据库中的文档。任何子文档也将被删除。 ..

DELETE /api/document/dummyId

因此这将删除包含 iddummyId 的文档和任何子文档。

如果成功,返回状态码 204

如果 3 个子文档中有 2 个未能删除,无论出于何种原因,我想将这些包含在返回给客户的 body 响应中。

什么状态码在这里最合适?考虑到一些文件已被删除而其他文件未被删除。

没有正确的 HTTP 状态代码,因为 DELETE 语句 必须 完全成功或根本不做任何事情。

HTTP 中并没有真正的 "partial success"。 WebDAV 确实将此添加到某些功能中,但即使在 WebDAV 中,DELETE 也必须完全成功或不影响资源的状态。