在REST API中使用HTTP状态207有哪些适用的方案?

fro*_*roi 19 rest web-services

计划使用http状态207 /多状态作为更新/删除REST API中对象列表的响应.如果一切都成功,我计划回复204,如果是成功/失败的混合,我计划回复207.

这是207的正确用法吗?

http 207常用的场景是什么?

Sun*_*mar 21

如果对多个资源执行POST,PUT,DELETE等破坏性操作,并且针对每个资源的操作没有共同的结果,那么您可以使用207.

例如,

  • 如果你删除了两个资源,并且两个都被删除了,你可以期待
  • 如果两个DELETE都被禁止,你会期望403.
  • 如果一个DELETE成功但一个被禁止,那么你将收到207.

关于207状态的更多讨论.

  • 我想说,如果您有这样的批量请求,您应该使整个请求失败,而不是在数据库上应用事务 (2认同)