我已经看过这个问题,但它已经很老了,我觉得现在还有其他替代 ARes 的方法。
鉴于许多人似乎认为 ActiveResource 有点过时和重量级,我看过Api Smith、Her、Roar,当然还有 ARes 。
这些宝石中的哪一个将是最可靠且面向未来的替代品?
为什么不使用 HTTParty 或 Faraday 等较低级别的库?它们将为您涵盖很多丑陋的东西(ssl、解析/序列化 json 和 XML、日志记录、添加标头...),您将完全控制 URL 和数据管理。
我发现简单地使用 open-uri 和 json 是一个可行的选择。更少的样板和更多的控制/可配置性。
例子:
@people = JSON.parse(open("http://api.people.com:3000/people").read, symbolize_names: true)
Roar gem 的目的是帮助您构建和反序列化对象,它处理几种不同的 JSON 格式,如 JSON-API、JSON-HAL 等、XML,并且扩展底层 Representable Gem(从流行的 ROXML gem 派生)相当容易。考虑到 Roar 是迄今为止最受欢迎的 ARes 替代品,并且是更大的 Trailblazer 生态系统的一部分(你可以单独使用它)——我认为 Roar 更“面向未来”。但我可能有偏见。