我已经阅读了 API 版本控制的最佳实践?. 我同意将版本放在 url 路径而不是 HTTP 标头中。
为了实现这一点,我有一个这样的命名空间控制器:
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
有没有办法做到这一点?