我需要创建一个 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 密钥,它应该被拾取为 params[:key]
或类似的东西params[:api_connection_key]
e.g
mydomain.com/api/v1/xxxxxxxx/messages
指向 app/controllers/api/v1/messages_controller.rb
我想知道您将如何设计
config/routes.rb
来实现这一目标? (控制器和其余逻辑都很好,只是路由)
no
mydomain.com/api/v1/messages?key=xxxxxxxx
不是一个选项并且 Header 身份验证是不可能的
scope
支持动态分段
Rails.application.routes.draw
namespace :api do
namespace :v1 do
scope "/:key" do
resources :messages
end
end
end
end