Я разрабатываю приложение, бэкэнд которого записывается в рельсах 5 api (бета-версия).Как перейти на конкретную версию API Rails 5?
Мой 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, чтобы посмотреть, когда не указав версию? – Albin
Я передаю номер версии api через заголовок. Когда я не укажу конкретную версию, рельсы должны использовать значение по умолчанию. –