gpt4 book ai didi

web-services - 如何避免向 Web 服务发送 2 个重复的 POST 请求

转载 作者:行者123 更新时间:2023-12-03 19:59:56 31 4
gpt4 key购买 nike

我发送一个 POST 请求来创建一个对象。该对象已在服务器上成功创建,但我无法接收响应(丢弃在某处),因此我尝试再次(一次又一次)发送 POST 请求。结果是服务器端有很多重复的对象。

处理该问题的官方方法是什么?我认为这是一个非常普遍的问题,但我不知道它的确切名称,所以无法谷歌它。谢谢。

最佳答案

在 REST 术语中,这就是 POST 的接口(interface)方式。用于创建对象(PUT 用于修改,DELETE 用于删除,GET 用于检索)被调用,POST操作被认为是不安全的和非幂等的,因为其他类型的请求的第二个操作对对象的收集没有影响。

我怀疑是否有一种“官方”的方式来处理这个问题,但可能有一些设计模式可以处理它。例如,这两种替代方案可能会在某些情况下解决此问题:

  • 对象具有唯一性约束。例如,存储唯一用户名的记录不能重复,因为数据库会拒绝它。
  • 在每个客户端发出 POST 之前向它发出一次性使用 token 请求,通常在客户端加载带有输入表单的页面时。第一个POST创建一个对象并将 token 标记为已使用。第二个POST将看到 token 已被使用,您可以回答“是的,是的,好的,好的!”错误或成功消息。

  • 有用链接 where you can read more about REST .

    关于web-services - 如何避免向 Web 服务发送 2 个重复的 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19769459/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com