Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Restangular中的RESTful乐观锁_Javascript_Rest_Restangular_Etag_Optimistic Locking - Fatal编程技术网

Javascript Restangular中的RESTful乐观锁

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

我有一个restful api,客户端首先从资源加载一组实体

GET http://wherever/api/tasks
然后希望从该集合中删除特定任务

DELETE http://wherever/api/tasks/42
为了防止意外删除并发更新,只有在实体加载后未被修改的情况下,删除才会成功。我们希望使用乐观锁定来解决这个问题

如何通过RESTAPI传递当前/预期版本

,RESTful的最佳实践是通过etag传递版本(可能是为了利用与HTTP缓存的协同作用),但是如果实体是从不同的URL加载的,而不是从中删除的,那么我该怎么做呢?(我希望避免为每个任务发出GET,因为查找任务集合与查找它们的状态一样昂贵)

我们在客户端使用Restangular,在服务器端使用Jersey。

根据API,必须将eTag作为集合中返回对象的属性发送,并且在收到响应时,将其附加到元素的restangularEtag属性