与远程apis通信,包括导轨

时间:2013-05-02 12:25:00

标签: ruby-on-rails ruby

我对rails很新。在我的项目中,我必须对许多服务器进行一些api调用(POST)。每次调用都需要一些需要通过POST请求发送的参数。只有json数据的响应很简单。任何人都可以建议做一些更好的方法或有人有这种东西的经验。 这些操作大部分只是单一的圆形

我已阅读Active Resourcenet::HTTP,我很困惑使用哪一个。由于Active Resource仅适用于RESTful api,因此如果我将要与之通信的服务器提供相同的服务,我不会事先知道。

提前致谢!

3 个答案:

答案 0 :(得分:1)

您必须检查API是否使用REST或SOAP。

如果是REST,您可以使用rest-client gem

如果它使用SOAP,您可以使用savon gem

答案 1 :(得分:0)

net :: HTTP可以在很短的时间内让你的代码变得混乱。您应该选择那里的任何REST gem,例如rest client

答案 2 :(得分:0)

ActiveResource是一种用于与RESTful API交互的框架。 Rails将从Rails 4.0中的核心依赖项中删除AR,因此除非您需要使用其他Rails应用程序,否则我不建议使用它。

在您的情况下,您需要一个HTTP库。标准的Ruby HTTP库是Net :: HTTP。还有其他几个客户端,主要基于Net :: HTTP。其中之一是rest-client

您可以直接使用Net :: HTTP或使用其他客户端,例如rest-client,faraday,httparty等.Net :: HTTP不会公开一个非常好的API,这就是为什么存在多个替代客户端和包装

仅供参考,ActiveResource也基于Net :: HTTP。