好的,我正在构建一个 API,我需要这些路由,所以我可以像这样访问它们:
api.example.com/action
或者
api.example.com/action2
这些是我的 API 控制器上的非休息操作:
class ApiController < ApplicationController
def action1
#code
end
def action2
#code
end
end
我怎样才能路由它们,任何指针?
好的,我正在构建一个 API,我需要这些路由,所以我可以像这样访问它们:
api.example.com/action
或者
api.example.com/action2
这些是我的 API 控制器上的非休息操作:
class ApiController < ApplicationController
def action1
#code
end
def action2
#code
end
end
我怎样才能路由它们,任何指针?
你会想要两者www.domain.com
,并且api.domain.com
会指向同一个 rails 应用程序。
在您的路由文件中,您将需要设置一个约束以仅在该约束为真时执行一组路由。您要使用的约束将简单地检查当前请求的子域是否为'api'
. 这可以通过以下代码段来实现:
配置/路由.rb:
constraints subdomain: 'api' do
# Standard Routing
match '/action1' => 'api#action1'
# Wildcard Routing
match '/:action" => 'api#%{action}'
end
请求约束: http: //guides.rubyonrails.org/routing.html#request-based-constraints
通配符段: http: //guides.rubyonrails.org/routing.html#route-globbing-and-wildcard-segments