【发布时间】:2015-09-01 10:07:20
【问题描述】:
我有restful api,客户端首先从资源中加载实体集合
GET http://wherever/api/tasks
然后想从该集合中删除特定任务
DELETE http://wherever/api/tasks/42
为了防止意外删除并发更新,只有在实体加载后没有被修改时,删除才会成功。我们想使用乐观锁定来解决这个问题。
如何通过 REST API 传递当前/预期版本?
Apparently,RESTful 的最佳实践是通过 ETags 传递版本(大概是为了利用与 HTTP 缓存的协同作用),但是如果实体是从不同的 URL 加载的而不是从中删除,我该怎么做呢? (我想避免为每个单独的任务发出 GET,因为查找任务集合与查找它们的状态一样昂贵)
我们在客户端使用 Restangular,在服务器端使用 Jersey。
【问题讨论】:
标签: javascript rest restangular etag optimistic-locking