ruby-on-rails - 从 Rails 应用程序使用 REST API

标签 ruby-on-rails api web-applications rest

我正在构建我的第一个 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 应用程序从 HTTP/Rest 后端使用其数据的必要步骤是什么?和,
  • 这对 Rails 应用程序来说是一个好的设计吗?

  • 谢谢!

    最佳答案

    在 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/

    相关文章:

    ruby - 网站不再需要本地数据库了吗?

    node.js - 这是一个好的 Web 应用程序架构吗?

    testing - 如何在没有 wlan 的情况下免费测试手机上的网络应用程序?

    ruby-on-rails - 未初始化的常量 ActionDispatch::Routing::Routes (NameError)

    c# - 触发操作系统以编程方式复制(ctrl+c 或 Ctrl-x)

    javascript - contact.map 不是一个函数

    security - 在 HTTP header 中隐藏 Web 服务器信息是一种好习惯吗?

    sql - Rails 查询仅在所有 has_many 关联均为 `true` 的情况下选择父记录

    ruby-on-rails - 使用 Cucumber 和 Selenium 进行测试 : how can I see what it sees in the browser?

    sql - rails : How to find_by a field containing a certain string