版本Web服务的Rails路由
问题描述:
我是Rails的新手。任何人都可以告诉我,如果以下是可能的,如果你,正确的“路线”条目是什么?版本Web服务的Rails路由
我有一个控制器ItemController与一个动作(索引)。当我默认设置它的时候,它可以通过http://my.app:3000/item访问,但是我想通过http://my.app:3000/api/v1/访问这个控制器(也就是这个控制器,而不是其他控制器)。
感谢X
凡妮莎
答
它设置一个命名空间下:
namespace :api do
namespace :v1 do
resources :items
end
end
那么你就需要到该控制器进入app/controllers/api/v1/items_controller.rb
并调用它Api::V1::ItemsController
定义的类。
很可能您需要为API操作提供一些自定义逻辑,因此您可能希望将该逻辑放入另一个控制器其他而不是ApplicationController
。这意味着这个新的控制器将继承Api::V1::BaseController
而不是ApplicationController
。
在附注中,我在本书的“设计API”一章中介绍了这种类型的东西,Rails 3 in Action。
是的,我同意,这是最好的方法 – Anatoly