(Ruby 2.3.1, Rails 5.0.0.1)Rails API с версиями: версия в хелперов имена
Я уже реализовал API управления версиями в URI и добавил изобрести токен аутентификации, как это:
constraints subdomain: 'api' do
scope module: 'api' do
namespace :v1 do
# V1 stuff
resources :users
mount_devise_token_auth_for 'User', at: 'auth'
end
end
end
в результате «реки маршрутов» (пример строка), следовательно, является:
v1_user GET /v1/users/:id(.:format) api/v1/users#show {:subdomain=>"api"}
в настоящее время в моем контроллере, любой помощник, связанный с пользователем содержит «v1» версии. Например:
before_action :authenticate_v1_user!
Я новичок в этой концепции, но разве этого нельзя избежать? Если я когда-нибудь перейду на v2, мне придется пройти через все эти помощники и убедиться, что я изменю его, чтобы он не сломался? Или как будет выглядеть процесс обновления?
Благодарим Вас за отзыв! Это может быть очень простой вопрос, но я немного смущен.
Я бы избежать использования версий в именах, пока у вас не будет, по крайней мере, 2 разных версии ... так что просто назовите его 'authenticate_user!', пока у вас не будет двух разных способов аутентификации, тогда вы можете иметь 'authenticate_v1_user' vs' authenticate_v2_user', чтобы различать ... хотя tbh I ' d обрабатывать разные способы делать вещи, используя «роли» вместо этого (по-прежнему сохраняйте v1 и т. д. в маршрутах). –