默认命名空间路由

时间:2012-05-24 23:34:07

标签: ruby-on-rails ruby ruby-on-rails-3 routes

我有这条路线

namespace :api, defaults: {format: 'json'} do
   namespace :v1 do
      post .....
      get .....
   end
end

所以不是输入localhost:3000 / api / v1 / func有没有办法让v1默认(通过路由)然后我必须输入的是localhost:3000 / api / func?

这样,如果我推出api v2,我所要做的就是在一个地方改变路线。

谢谢!

1 个答案:

答案 0 :(得分:1)

如果你最终要发布一个新的API,那么很可能路由可能会有所不同,调用这些路由的代码也可能最终会有所不同。

我更愿意采用将API版本与请求一起传递的方法,然后相应地做出响应。根据您的API的结构,可能只需要第一个请求的API版本,然后其余的将使用它,通过保存在会话中等。这是长期的API,如Paypal工作。< / p>

如果你想这样做,这个问题提供了一种方法:API Versioning for Rails Routes