在Ruby on Rails 3应用程序中开始使用Web服务

14

我开始学习Rails。现在Rails 3已经发布了,我想学习它的最新做法。其中一项我想学习的内容是如何使用Web服务/使用第三方REST API/创建“混搭”应用程序。我只用PHP和预构建库做过很少量的工作。

请问是否可以为我提供一些资源、最佳实践或给我一个关于如何开始使用这些类型API的快速介绍?我应该使用哪些gems?一些示例代码让我入门会非常感激。

更新: 我特别想使用Google Books API (未验证)。由于没有客户端库可用,我想知道其他Ruby/Rails开发人员如何使用不带有自己的Ruby库的API。这就是为什么我正在寻找一种通用的解决方案来处理“填空”的API。

更新: 经过一些研究,我注意到了Net::HTTP库。所有谈到它的教程都相当老旧。这仍然是处理RESTful Web服务的最佳库吗?还是有更新的Gem使这更容易?我只想知道我应该使用哪个gem/library,以及如何处理返回的XML/JSON结果。

更新: 这份演示文稿非常有帮助。它提到了许多不同的库,并显示了以下库的一些示例:http://www.slideshare.net/pengwynn/json-and-the-apinauts


你有特定的网络服务需要使用吗?或者你对特定的网络服务风格感兴趣,例如非认证的RSS提要与需要API令牌的API之间的区别? - Jed Schneider
3个回答

9

我非常喜欢使用HTTParty

它是基于Net::HTTP的抽象层,具有简单易懂的DSL语法,用于消费Web服务。这里有一个很好的例子展示了如何轻松使用:

这里

虽然它有一些缺陷(依赖关系较多),但如果你是使用方,这确实是值得推荐的选择。


+1 for HTTParty。它确实使得消费REST端点变得容易;大多数最近围绕API的Ruby包装器都在使用它。 - Chris Heald

2

0

Weary 是一个非常棒的领域特定语言(DSL),用于消费 RESTful 服务。

显然受到 HTTParty 的启发,但更新一点,更简洁一点。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接