想法
使用API platform's框架时,我需要“锁定/访问”第一个请求它们的第一个客户端的资源集合,以防止其他客户端再次检索它们(竞争条件) ),直到第一个完成/更新其状态。 原因:由于两个客户无法处理(例如,通过电子邮件发送给客户)同一张优惠券,因为该优惠券只能使用1次。
示例
想象一下,我们有许多客户使用的优惠券代码集合:某个客户请求了一套优惠券代码后,只有第一个客户标记(POST / PATCH)每个优惠券代码时,其他客户端才能检索相同的优惠券代码例如“消耗”。
挑战
我当然可以将这些优惠券锁定在GET请求上,但这违反了Restful API范例:GET无法修改资源状态,Get应该是幂等且安全的。
建议
ETag乐观锁定:不能在集合上使用。