如何为我的Rails应用程序构建API,以便多个站点可以共享一个数据库?

kat*_*ray 5 api rest ruby-on-rails

我有一个Rails应用程序,现在是非常标准的:Heroku/PostgreSQL后端,用户直接到我的网站更新数据,没有移动应用程序或任何东西.我们将开始将技术许可给其他公司,因此不同版本的接口存在于company1.mywebsite.com,company2.mywebsite.com等,其中所有这些接口共享同一个数据库.

我想就如何构建这个建议提出一些建议.我是否为company1,company2等创建了一个单独的Rails应用程序(包含大量冗余代码),然后使用API​​密钥设置每个应用程序以使用其RESTful路由查询我的主应用程序?

任何指向我的教程都会很棒.

Ner*_*ian 2

我向您推荐 Paul Dix 所著的《使用 Ruby 和 Rails 进行面向服务的设计》一书。它有很多关于您想要构建的系统类型的信息。

\n\n

回答你的问题:

\n\n
    \n
  • 构建 API 服务器。它提供 JSON \xe2\x80\x93 例如 \xe2\x80\x93 RESTful 接口。

    \n\n
    api.mydomain/client1/users.json\n
    Run Code Online (Sandbox Code Playgroud)
  • \n
  • 构建前端服务器。它使用tyhoeus(例如\xe2\x80\x93)使用API​​服务\xe2\x80\x93并提供最终页面。它使用子域或域名来标识不同的客户端。

    \n\n
    client1.mydomain/users\n
    Run Code Online (Sandbox Code Playgroud)
  • \n
\n