当同一实体上的不同用户同时进行更新时,如何在保存之前检测该实体是否已更新并防止第二次更新发生并将新数据推送到第二个用户。
可以使用电子标签吗?
答案 0 :(得分:0)
是的,这正是etag的用途。如果将SAP Gateway作为后端,则已经在SAPUI5的ODataModel中提供了支持,因此只需将etag发送给客户端并在进行更新时(在服务器上)对其进行验证。如果在此同时更改了该实体,则会向客户端发送错误消息,通知他该实体自加载实体以来已更改(HTTP状态412)。
答案 1 :(得分:0)
SAP Gateway不支持悲观锁定(例如,期望别人在编辑同一文档的同时编辑其他文档),但由于无状态而支持乐观锁定(即,不期望其他人同时编辑) RESTful Web服务的性质。所以这是选项: