我们正在构建一个具有幂等创建方法的web服务,我们正在寻找如何实现幂等性的方法。
创建的对象具有唯一的标识符属性,名为Id,它是GUID类型,由使用者分配。
我们考虑了这些批准:
1)检查具有相同Id的对象是否存在
2)还包括一个Version属性,并检查具有相同Id和Version的对象是否存在
3)检查具有相同Id exis但从存储区获取对象的对象,创建该对象的散列,并将其与传入对象的哈希进行比较。
你会重新建议什么?
发布于 2016-04-06 21:01:03
您需要生成一个唯一的散列来比较每个对象。显然,您可以简单地比较备份存储中的每个字段,或者每个重要字段。
但是,您可能需要更多地考虑创建过程中发生的事情--假设我试图向用户发送新的用户详细信息,以便用户I gbjbaanb (用户I gbjbaanb)使用,如果它由于已经存在的用户而失败,我不希望将详细信息发送回客户端--或者您可以“创建”我的用户并查看我的所有比特,或者覆盖,然后您可以提供一个新的密码并黑掉我的用户。如果您只返回“成功,用户创建”,那么这将不会向创建新帐户的用户表明他实际上没有创建一个新用户!
这两个场景是相互排斥的--你不能让两者都以你想要的方式工作,一个必须付出。
https://softwareengineering.stackexchange.com/questions/314885
复制相似问题