【问题标题】:How to handle false negative responses from integrating system如何处理来自集成系统的错误否定响应
【发布时间】:2019-03-09 03:52:25
【问题描述】:

我希望就如何使用集成 API 处理以下场景进行一些讨论。

  1. 您调用第 3 方 API 来创建资源
  2. API 返回一个 500 异常(但是,它仍然在他们的系统中创建资源,但我们没有创建资源,因为请求返回错误代码)
    • 通常,API 会返回 200 OK 和资源标识符。
  3. 然后用户重试创建资源
  4. API 返回 400 异常资源,因为它已经存在

你会如何优雅地处理这个问题? (请记住,我必须影响 API 开发人员才能解决此问题)

【问题讨论】:

    标签: rest api integration


    【解决方案1】:

    如果您不能让开发人员解决第 2 点中的问题,您可以很好地尝试以下第 4 点。

    如果处理 POST 的结果等同于现有资源的表示,源服务器可以通过发送 303 (See Other) 响应将用户代理重定向到该资源Location 字段中现有资源的标识符。

    Refer the last paragraph under POST

    【讨论】:

    • 感谢 Deva 的输入。在这种情况下,没有可重定向到的资源。该资源仅存在于第 3 方系统中。因此,在该系统中没有已知的标识符可以引用它,因为 POST 响应在创建它时返回了 500 错误。
    • 在这种情况下,您可以使用来自第三方服务器的任何搜索 API 发出 get 请求来获取资源吗?
    • 我希望!不幸的是没有:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-26
    • 2012-10-12
    • 2018-06-20
    • 1970-01-01
    • 2013-05-13
    • 1970-01-01
    • 2011-08-22
    相关资源
    最近更新 更多