关于此有一些问题,但所有问题都包括对现有路由进行更改或从头开始创建API。我想做的是将API完全隔离在另一个子路由下。像这样的东西:
/users/:id
->常规的Rails服务器
/api/v1.0/users/:id
->修改后的API层,可访问基本Rails服务器的模型和控制器
我真的很想将API的逻辑与Rails基本实现分开
在routes.rb上配置:
namespace :api do
namespace :v1 do
resources :users
end
end
如果要使用API
代替Api
,请在config/initializers/inflectors.rb
添加:
ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.acronym 'API'
end
您的users_controller必须位于中app/api/v1/controllers
,并且看起来像这样:
module API
module V1
class UsersController < ApplicationController
...
end
end
end
编辑:您可以在railscasts中找到更多选项:350-rest-api-versioning
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句