2017-07-27 93 views
0

我有一个rails客户端 - 服务器应用程序,它也需要通过身份验证令牌从外部API获取一些数据。身份验证令牌存储在我的Rails服务器上。Rails通过来自另一个获取请求(请求)的获取请求来访问外部API

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

但我不确定是否是一个好主意,从另一个获取请求发送获取请求。

这是典型的做法还是有更好的方法?

回答

0
  • 使用对外部API的GET请求创建一个ActiveJob作业。
  • 让您的客户的GET请求触发作业。
  • 收集所有你需要的数据和发送响应返回给客户端
+0

为什么只是一'GET'请求创建一个'ActiveJob'? – Abdullah

+0

您正在依靠外部API。如果他的客户端有许多访问者产生获取请求,那么应用程序可能会陷入困境,等待外部API响应。所以如果你经常在做一个外部的API请求,你可能需要对它进行后台处理,然后让它更新你的模型。 或者您可以将外部获取请求放入视图代码中,以便在访问者的浏览器中执行。 只需做一些性能测试并根据此做出决定。 – i5okie

+0

从我的理解中,主动作业并行运行,我不能等待它完成发送响应中的数据。这将如何工作?另一种可能性是在第一次请求时触发作业,并在作业完成时发送第二次请求以获取数据。但是,我怎么知道客户端的工作完成时间? – MeesterPatat