Я пытаюсь изменить свой API, как у Stripe. Ниже приведена последняя версия API - 2.
/api/users
возвращает значение от 301 до /api/v2/users
/api/v1/users
возвращает индекс 200 пользователей в версии 1
/api/v3/users
возвращает значение от 301 до /api/v2/users
/api/asdf/users
возвращает значение от 301 до /api/v2/users
Итак, в основном все, что не указывает версию, ссылается на последнюю, если только указанная версия не существует, а затем перенаправляйте ее.
Это то, что у меня есть до сих пор:
scope 'api', :format => :json do
scope 'v:api_version', :api_version => /[12]/ do
resources :users
end
match '/*path', :to => redirect { |params| "/api/v2/#{params[:path]}" }
end