Javascript Restangular中的RESTful乐观锁
我有一个restful api,客户端首先从资源加载一组实体Javascript Restangular中的RESTful乐观锁,javascript,rest,restangular,etag,optimistic-locking,Javascript,Rest,Restangular,Etag,Optimistic Locking,我有一个restful api,客户端首先从资源加载一组实体 GET http://wherever/api/tasks 然后希望从该集合中删除特定任务 DELETE http://wherever/api/tasks/42 为了防止意外删除并发更新,只有在实体加载后未被修改的情况下,删除才会成功。我们希望使用乐观锁定来解决这个问题 如何通过RESTAPI传递当前/预期版本 ,RESTful的最佳实践是通过etag传递版本(可能是为了利用与HTTP缓存的协同作用),但是如果实体是从不同的UR
GET http://wherever/api/tasks
然后希望从该集合中删除特定任务
DELETE http://wherever/api/tasks/42
为了防止意外删除并发更新,只有在实体加载后未被修改的情况下,删除才会成功。我们希望使用乐观锁定来解决这个问题
如何通过RESTAPI传递当前/预期版本
,RESTful的最佳实践是通过etag传递版本(可能是为了利用与HTTP缓存的协同作用),但是如果实体是从不同的URL加载的,而不是从中删除的,那么我该怎么做呢?(我希望避免为每个任务发出GET,因为查找任务集合与查找它们的状态一样昂贵)
我们在客户端使用Restangular,在服务器端使用Jersey。根据API,必须将eTag作为集合中返回对象的属性发送,并且在收到响应时,将其附加到元素的restangularEtag属性