2

我有这条路线

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,我所要做的就是在一个地方更改路线。

谢谢!

4

1 回答 1

1

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

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

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

于 2012-05-26T01:30:01.317 回答