gpt4 book ai didi

REST API : How to ensure atomicity?

转载 作者:行者123 更新时间:2023-12-02 05:39:38 27 4
gpt4 key购买 nike

我正在开发一个小型 REST API。当我开始分析所有可能的故障场景(我必须处理这些故障场景以创建可靠且稳定的系统)时,我开始思考如何使我的 API 原子化。

如果我们采用通过 POST API 创建联系人的简单案例。

  • 服务器获取新联系人的 POST 请求。
  • 在数据库中创建联系人。
  • 创建响应并发送给客户端。
  • 服务器在发送响应之前崩溃。
  • 客户端收到超时错误(或连接被拒绝?)

客户端肯定会认为联系人创建失败,但实际上该联系人在数据库中。

这是我们可以忽略的罕见情况吗?大公司如何处理这样的问题?

最佳答案

为了解决这个问题,您应该使您的写入 API 具有幂等性,即,如果多次执行相同的操作,则结果应该与仅执行一次操作相同。

要在当前示例中实现此目的,您需要能够根据某些参数(例如 emailAddress)唯一地标识联系人。因此,如果使用相同的电子邮件地址再次调用 createContact,请检查数据库中是否已存在具有该电子邮件地址的联系人。如果是,请返回现有联系人。否则,使用电子邮件地址创建一个新联系人并将其返回。

希望这有帮助。

关于REST API : How to ensure atomicity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37476230/

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