【问题标题】:Observe/Listen for changes in REST API response观察/监听 REST API 响应的变化
【发布时间】:2021-05-15 06:50:36
【问题描述】:

我正在构建一个 API,我想在其中观察另一个 3rd 方 API,它告诉我用户当前的“状态”。当用户状态发生变化时,我想做一些事情(运行代码块)。

例如,第 3 个 API 告诉我用户在那个时间点是“快乐”还是“悲伤”。 当用户的状态从“快乐”变为“悲伤”时,我想做一些事情。 那么有没有办法知道这种变化何时发生(并在那时采取一些行动)?

我发现的一个潜在解决方案是运行 Cron 作业,在其中我不断调用 3rd 方 API 并不断检查用户的状态并在它发生变化时执行某些操作。

我正在寻找任何其他可能的解决方案,它们可以通过更好的方法实现同样的效果。 如果你想了解技术栈,我正在 Node(Express) 中构建我的 API。

【问题讨论】:

  • 第 3 方 API 是否与您联系,或者您是否需要不断轮询它以获取信息?它是 REST-API 吗?尽管如此,将每个“情绪”保存在数据库中,并在每次推送/轮询时检查数据库记录。由于其他 API 超出了您的系统范围,因此无法实现真正​​的“订阅”。
  • 它是一个 REST-API。我只想检测值的变化。我试图避免您提到的这种情况,因为它确实效率低下。我正在寻找更好的方法。我是后端新手,所以我想知道我是否错过了一些更有效的方法。

标签: node.js api rest express


【解决方案1】:

我找到了答案,尝试查找第三方应用程序是否有WebHooks。 WebHooks 可以让您进行 API 回调并让您在 DB 中“观察更改”。

如果不尝试查找 API 中是否存在订阅类型的系统(如 RESTHooks)。

如果没有,那么您最好的选择可能是 Cron Job 类型的解决方案,您可以不断获取(调用)API 并有一个数据库来比较是否有任何变化。

如果有更多“优雅”的解决方案,请告诉我。

【讨论】:

    猜你喜欢
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-19
    • 2020-11-06
    相关资源
    最近更新 更多