2017-07-27 94 views
0

我有一個rails客戶端 - 服務器應用程序,它也需要通過身份驗證令牌從外部API獲取一些數據。身份驗證令牌存儲在我的Rails服務器上。Rails通過來自另一個獲取請求(請求)的獲取請求來訪問外部API

基本上我想要做的是:當用戶觸發從我的客戶端到我的服務器端的獲取請求時,我從服務器上的數據庫中獲取一些數據,我想從外部獲取一些數據api將兩組數據作爲響應發送回客戶端。

但我不確定是否是一個好主意,從另一個獲取請求發送獲取請求。

這是典型的做法還是有更好的方法?

回答

0
  • 使用對外部API的GET請求創建一個ActiveJob作業。
  • 讓您的客戶的GET請求觸發作業。
  • 收集所有你需要的數據和發送響應返回給客戶端
+0

爲什麼只是一'GET'請求創建一個'ActiveJob'? – Abdullah

+0

您正在依靠外部API。如果他的客戶端有許多訪問者產生獲取請求,那麼應用程序可能會陷入困境,等待外部API響應。所以如果你經常在做一個外部的API請求,你可能需要對它進行後臺處理,然後讓它更新你的模型。 或者您可以將外部獲取請求放入視圖代碼中,以便在訪問者的瀏覽器中執行。 只需做一些性能測試並根據此做出決定。 – i5okie

+0

從我的理解中,主動作業並行運行,我不能等待它完成發送響應中的數據。這將如何工作?另一種可能性是在第一次請求時觸發作業,並在作業完成時發送第二次請求以獲取數據。但是,我怎麼知道客戶端的工作完成時間? – MeesterPatat