【问题标题】:Rails acces external API through a get request from another get request(requestception)Rails 通过来自另一个 get 请求的 get 请求访问外部 API(requestexception)
【发布时间】:2018-01-02 18:13:34
【问题描述】:

我有一个 Rails 客户端-服务器应用程序,它还需要使用身份验证令牌从外部 api 获取一些数据。身份验证令牌存储在我的 Rails 服务器上。

基本上我想做的是:当用户触发从我的客户端到我的服务器端的获取请求时,我从服务器上的数据库中获取一些数据,并且我想从外部 api 获取一些数据将两组数据作为响应发送回客户端。

但我不确定从另一个类似的 get 请求发送 get 请求是否是个好主意。

这是通常的做法还是有更好的方法?

【问题讨论】:

    标签: ruby-on-rails api http request


    【解决方案1】:
    • 使用对外部 API 的 GET 请求创建一个 ActiveJob 作业。
    • 让客户的 GET 请求触发作业。
    • 收集您需要的所有数据并将响应发送回客户端

    【讨论】:

    • 为什么只为GET 请求创建ActiveJob
    • 您依赖外部 API。如果他的客户有许多访问者生成获取请求,则应用程序可能会陷入等待外部 API 响应的困境。因此,如果您经常执行外部 API 请求,您可能应该在后台处理它,并让它更新您的模型。或者,您可以将外部 get 请求放入要在访问者浏览器中执行的视图代码中。只需进行一些性能测试并据此做出决定。
    • 据我了解,活动作业并行运行,我迫不及待地等待它完成发送响应中的数据。那将如何运作?另一种可能性是使用第一个请求触发作业,并在作业完成时发送第二个请求以获取数据。但是我怎么知道客户端的工作何时完成?
    • 您的前端使用什么?你到底在检索什么?
    • 我的前端是基于 angularJS 的。我从自己的数据库中检索的数据是位置/办公楼数据。这包括地址、一些照片、地理坐标等。来自外部 api 的数据是建筑物中每个房间的预订。
    猜你喜欢
    • 1970-01-01
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-04
    • 1970-01-01
    相关资源
    最近更新 更多