use*_*741 3 http http-status-codes http-response-codes
我已经构建了一个 API,其中客户端将指示服务器更新数据库中的某个实体,并且它必须容纳多个用户尝试对同一数据实体进行操作,可能是在“同时”。
这是一个分布式用户竞争条件问题。(类似于 Wordpress 在其他用户编辑博客文章时处理“锁定”博客文章的方式。)
示例数据实体
{
versionID : 12345,
type : "building",
name : "The CN Tower"
}
Run Code Online (Sandbox Code Playgroud)
操作数据实体
例如,客户端将告诉服务器任何给定实体update的name属性。
为了处理试图更改同一实体的多个用户 - 不会让用户意外覆盖彼此的更新 - 每个用户必须随其update请求一起发送versionID(也可能称为 a stateID)它从服务器获取的数据库实体加载到 UI 中(或者在 CLI 应用程序的情况下存储在客户端)。
这样,如果Client A之前更新过建筑物Client B,服务器将能够告知Client B他们的更新请求已失败,因为他们尝试更新的建筑物不是数据库中此类记录的当前(规范)状态。
问题
当任何用户尝试更新已由其他用户在此期间更新的数据库记录时,来自服务器的正确 http状态代码是什么?
| 归档时间: |
|
| 查看次数: |
1729 次 |
| 最近记录: |