我正在開發一個應用程序,後端正在編寫rails 5 api(測試版)。如何路由到特定的自定義Rails 5 API版本?
我的API將有部分版本中,我使用這個方法來解決版本:
https://github.com/iamvery/rails-api-example/blob/master/config/routes.rb
Rails.application.routes.draw do
def api_version(version, &routes)
api_constraint = ApiConstraint.new(version: version)
scope(module: "v#{version}", constraints: api_constraint, &routes)
end
api_version(1) do
resources :articles, only: :index
end
api_version(2) do
resources :articles, only: :index
end
end
的事情是,當我不指定版本,它讓我看到了(obviuos)錯誤(ActionController::RoutingError: No route matches [GET] \...
)。
但我想使用最新的API版本,而不是拋出一個錯誤。
你怎麼想的URL時不指定版本看起來新api_constraints.rb文件? – Albin
我通過標頭傳遞api版本號。當我沒有指定特定版本時,rails應該使用默認版本。 –