API のバージョニングのベスト プラクティスを読みましたか? . また、バージョンを HTTP ヘッダーではなく URL パスに入れることに同意します。
これを実装するために、次のような名前空間付きコントローラーがあります。
class Api::V1::UsersController < Api::BaseController
def show
...
end
end
そして、ルートは次のとおりです。
current_api_routes = lambda do
resource :users
end
namespace :api do
namespace :v1, ¤t_api_routes
end
次にrake routes
、次のようなルートを取得できます。
api_v1_user GET /api/v1/users/:id(.:format) api/v1/users#show
...
そのバージョンv1.2
がのコントローラーに行くようにしv1
ます。次に、次のようにコントローラでマイナー バージョン番号を取得できます。
class Api::V1::UsersController < Api::BaseController
def show
minor_version = params[:minor_version] # minor_version = 2
...
end
end
これを達成する方法はありますか?