如何在通过RESTAPI更新文档时确保一致性
我正在设计一个REST API,可能会有两个客户端同时更新它: *如何在通过RESTAPI更新文档时确保一致性,rest,api-design,Rest,Api Design,我正在设计一个REST API,可能会有两个客户端同时更新它: *客户端A将获取一个文档,花X分钟处理和修改它,然后将其放回原处。 *客户端B可能随时放置新文档 当Client BPUT的新文档,而Client A正在处理文档的旧版本时,就会出现问题。在这种情况下,客户机A最终将覆盖客户机B所做的更改,方法是放置旧文档的修改版本。我希望客户端A放弃处理结果 为了更好地解释,下面是一个简单(有问题)的工作流示例: 客户端A获取文档版本2 Client APUT->Document version
客户端A
将获取一个文档,花X分钟处理和修改它,然后将其放回原处。
*客户端B
可能随时放置新文档
当Client B
PUT的新文档,而Client A
正在处理文档的旧版本时,就会出现问题。在这种情况下,客户机A
最终将覆盖客户机B所做的更改,方法是放置旧文档的修改版本。我希望客户端A
放弃处理结果
为了更好地解释,下面是一个简单(有问题)的工作流示例:
客户端A
获取文档版本2Client A
PUT->Document version 1.1客户端A
获取文档版本2客户端A
PUT->错误<代码>客户端A删除结果并重新启动客户端A
获取文档版本2.1