Heroku 应用程序的 API 子域,可能吗?

标签 api rest heroku subdomain

我正在尝试构建一个 API,但我担心我的所有资源将无法通过 api.myapp.com 域访问,或者它们将使用错误的 uri“存活”。

我已经为我的域名添加了 CNAME 以指向我的 Heroku 应用程序。
(例如:浏览 www.myapp.com 会将您带到 https://myherokuapp.heroku.com )

我想设置一个 API 子域,以便 GET 到
https://api.myapp.com 带你到 https://myherokuapp.heroku.com/api/v1

最好的情况是 POST 到 https://api.myapp.com/accounts/12345 将创建一个新帐户。这甚至可能吗?

(我知道子域(例如:mysubdomain.myappname.heroku.com)在 Heroku 中是不可能的)

我相信答案可能在三个不同的地方:

  • 与 DNS 提供商转发配置有关(也许
    与“A”记录有关)。
  • 在 Heroku 中配置的东西,可能是处理域/子域的付费插件。
  • 处理我的应用程序中的所有子域。
  • 最佳答案

    如果您想区分 api.mydomain.com 和 www.mydomain.com 并为您的 API 请求使用不同的 Controller ,那么您当然可以使用限制到您的 api 子域的 Rails 路由来处理此问题

    constraints :subdomain => "api" do
      scope :module => "api", :as => "api" do
       resources :posts
      end
    end
    

    然后将使用应用程序的 app/controllers/api 文件夹中的 posts_controller.rb。

    然后,您将让 www.mydomain.com 和 api.mydomain.com 为您的应用程序添加一个自定义域,然后路由将处理其余部分。

    您可能还想查看 Grape用于帮助构建 api 的 Gem

    关于Heroku 应用程序的 API 子域,可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15160328/

    相关文章:

    c++ ptlib PNotifier 在 OPAL 中的使用

    security - 用于服务器到服务器 API 安全的 OAuth

    javascript - API签名生成

    rest - 在搜索结果的 RESTful HTTP 请求中,如果没有结果,我应该返回空数组还是 404 错误代码?

    REST - 扩展关系

    database - heroku运行rails db :migrate Running rails

    node.js - Heroku 技术细节

    java - 如何使用 GSON 解析动态 JSON 字段?

    node.js - 相互通信微服务 - 如何?

    ruby-on-rails - ActionView::Template::Error(未定义方法 `silence' 为)