我想知道在休息时确保原子性的重要性。
假设存在REST API
insertItems(List<String> items)
我们应该设计API以便插入所有项目还是不插入? (原子)
示例:Sa¥假设我们尝试插入10个项目,并在插入第5个项目时收到错误,我们撤销所有插入的4个项目。 (为了确保没有插入任何内容)并返回调用者API调用失败。
OR
返回成功插入的项目,以便客户端可以处理失败的项目?
示例:SaY假设我们尝试插入10个项目,并在插入第5个项目时收到错误,我们返回成功插入到调用者的4个项目的列表。这导致调用者处理返回的列表并分析哪些项目失败等。这涉及客户端处理分析的负担。
你们对这两种情况都有强烈意见吗?什么是理想的使用和在什么情况下?