ruby-on-rails - API Rails 路由,其中​​ token 是路由的一部分

标签 ruby-on-rails rails-routing

我需要创建一个 Ruby on Rails API,其中路由如下

mydomain.com/api/v1/xxxxxxxx/
mydomain.com/api/v1/xxxxxxxx/messages
mydomain.com/api/v1/xxxxxxxx/authors/123/books

xxxxxxxx 代表 API key ,应将其作为 params[:key] 或类似 params[:api_connection_key] 的内容获取>

例如 mydomain.com/api/v1/xxxxxxxx/messages 指向 app/controllers/api/v1/messages_controller.rb

我想知道您将如何设计config/routes.rb来实现这一目标? ( Controller 和其余逻辑都很好,只是路由)

no mydomain.com/api/v1/messages?key=xxxxxxxx 不是一个选项,并且 header 身份验证是不可能的

最佳答案

范围支持动态分段

Rails.application.routes.draw

  namespace :api do
    namespace :v1 do
      scope "/:key" do
        resources :messages
      end
    end
  end
  
end

关于ruby-on-rails - API Rails 路由,其中​​ token 是路由的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76270934/

相关文章:

ruby-on-rails - 如何在 ruby​​ on rails 中循环通过 2 个模型?

ruby-on-rails - 具有多个序列化器 rails 的序列化器中的数组

ruby-on-rails - Ruby on Rails 重定向如何在路由文件中传递参数

ruby-on-rails - 我可以使用相同的网址,但使用不同的动态分段吗?

ruby-on-rails - 如何在 Rails 3 中编写动态路由?

ruby-on-rails - 如何在 Ruby on Rails 中更改路由名称

ruby-on-rails - 为什么默认情况下我的 Rails 应用程序的 .gitignore 文件中包含 config/database.yml?

ruby-on-rails - Postgres : Many-to-many vs. 多列与数组列

ruby-on-rails - Heroku 上的 Rake 任务会超时吗?

ruby-on-rails - 使用数组的简单路由