版本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

+0

是的,我同意,这是最好的方法 – Anatoly