我正在构建我的第一个 Rails 应用程序,我希望它使用 REST API 中的所有内容。我想做的是让 Rails 将我的 Web 应用程序作为我的 API 的前端。据我所知(我现在正盯着 Rails),Rails 在 ORM 和直接访问数据库系统方面有很大的潜力。另一方面,我的平台的设计方式是通过定义的接口(interface)(在本例中为 REST API)访问每一层,因此不会从任何客户端读取数据库,而是通过它们的接口(interface)。
例如,我的 API 公开了以下资源:
https://api.example.com/v1/users/feature-xxx [GET]
我希望我的网络应用程序有一个类似的页面:
https://example.com/feature
因此,用户将访问此 URL,并且在登录后,Rails 应用程序将请求数据以从我的 API 生成此动态内容。
问题是:
谢谢!
最佳答案
在 Rails 4.0 中不再包含 ActiveResource。话说它现在几乎没有维护,并且很难为没有按照“Rails 方式”制定的 REST API 端点进行定制。
经过一番研究,我非常赞成使用 Faraday .它包括对使用不同 HTTP 请求适配器的支持。当您决定并发时,它可以直接使用 EventMachine,或者像 Typhoeus 这样的库。它还支持类似于 Rack 的中间件,用于无缝地包括身份验证。
对于 Rails 中易于配置的 REST ORM,相对较新(大约一年前)Her看起来很有前途,并利用了法拉第。
更新
我完全 <3 RestClient .很简单。如果您需要 ORM 风格的功能,那么您将需要更高级别的抽象,但对于简单地使用 API,您无法超越它的简单性。它只是做了它应该做的事情,没有大惊小怪,有合理的默认值,并且能够设置高级选项,如 auth header 。
关于ruby-on-rails - 从 Rails 应用程序使用 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5386232/