代理一些api调用rails-api中的第三方

时间:2016-04-22 09:03:23

标签: ruby api ruby-on-rails-4 proxy

我有一系列API端点。其中一个端点应该从另一个服务器加载一些内容。我使用rails-api作为API服务器。

基本上api调用需要执行以下操作:

api_call --> api_server --> GET thirdparty_server.com
然后,api_server需要返回thirdparty_server.com提供的任何内容。这可以在铁轨上使用吗?从本质上讲,除了rails api之外,我们不希望第三方服务器可以访问其他任何东西。

我们希望将来自thirdparty_server.com的内容加载到客户端的iframe中。为了提供更多上下文:

iframe           --> api             --> thirdparty --> api --> iframe
src="api_call_url"   GET thidparty_url   Resp       --> Resp--> Resp

1 个答案:

答案 0 :(得分:1)

是的,这在Rails中很容易。我建议使用HTTParty

您可以设置Proxy控制器。这是一个简化的例子:

def request
  external_request = HTTParty.get(thirdparty_url) 
  external_request.body
end

您可以将api_call_url映射到proxy/request