我要通过 API 调用第三方供应商提供的数据,应该是要用 faraday 吧? 我同事手写的,但我看好像写得代码有点多,就想用 faraday 这个 gem。 但我对 http 原理其实不是很了解……(当然也看过这个《HTTP 下午茶》这种入门级的)
然后我看到 faraday 现在的教程:
还是有点糊里糊涂耶…… 有没有更全面更显浅一点的推荐啊?
或者大家看到哪个开源项目有用到,我看看人家写的代码啊…… 现在只看到一个diaspora
补充: 经 4 楼@fresh_fish 推荐,发现rest-client,看起来是易懂一点,而且ruby-toolbox 排名更高要不我换这个? 还有童鞋推荐httparty
oauth2 也使用了 faraday https://github.com/intridea/oauth2/blob/master/lib/oauth2/client.rb
关于选择 Faraday / RestClient:
Faraday 的应用场景是处理比较复杂的 HTTP 调用。因为本质是针对网络的编程,所以在报错,缓存,日志,编解码,分页,序列化等方面很容易会有特定的需求。Faraday 通过提供类似 Rack 中间件的抽象,能够比较容易处理这些需求。很多 Rack 的中间件可以直接放到 Faraday 里面用。
如果需要很简单的 HTTP 调用,尤其是只考虑 happy path, 用 RestClient 比较简单