因此,让我们想象一下有一个名为“产品”的实体,您拥有包括创建产品的POST在内的REST API。产品具有自动生成的“ ID”字段和唯一的“名称”字段。该方法内部的作用是:
问题是,如果同时有2个POST请求,您将得到一个错误。我们应该在这里使用一些锁定机制吗?如何正确执行?
答案 0 :(得分:0)
实际上不需要使用任何类型的锁定,只需在名称字段上使用unique constraint,这将使您无法存储两个具有相同名称的产品。然后捕获引发的异常并将其返回为400。
将其余的方法逻辑保持相同,我猜这是一个非常极端的情况,两个请求同时发生的机会非常小。您的验证有99.999%的时间会抓住这个机会。