所以,超级奇怪的用例。
基本上,客户端创建对象并将其同步到服务器。服务器将它们持久化,并返回带有UID的同一对象。客户端获取该UID对象后,它将删除客户端版本并保存服务器版本。
我担心客户端会发送对象,而在服务器进行验证时,请断开连接。然后,当客户端再次发送对象时,我们就重复了。
我可以生成一个客户端ID来避免这种情况,并将其保留在服务器对象中,但是我正在研究一种仅在客户端成功接收到响应后才保留对象的方法,因此我们知道它不会重新发送请求
我在Google周围搜索,但找不到任何东西。有办法吗?
答案 0 :(得分:0)
因此,正如我所想,我的回答确实表明对HTTP的工作原理缺乏了解。我怀疑这项技术不可能实现-事实并非如此-但实际上我应该解决一个潜在的问题。
正确的答案是在客户端上生成一个ID,该ID也存储在数据库中。原因是因为这使请求成为幂等-也就是说,客户端可以在不干扰服务器的情况下重发相同的请求,次数不限。
每当服务器收到创建新对象的请求时,它只会检查我们发送的客户ID。如果该对象已经存在,则无需再次创建它,只需返回服务器生成的对象。简单!