0

每个人。

我正在使用 sinatra 构建一个 Web 应用程序。在 api 部分,有很多以公共前缀开头的路由,例如:

get '/v1/command_1' do; end
get '/v1/command_2' do; end
get '/v1/command_3' do; end
get '/v1/command_4' do; end
get '/v1/command_5' do; end

我想知道如何避免所有这些 '/v1' 前缀?我可以只在一条路线中定义一次,而在其他路线中,我可以从 '/command_1' 或类似的东西开始吗?

提前致谢!

4

2 回答 2

3

我以前没有使用过它,但是 sinatra-contrib 项目中有一个扩展可以让你像这样嵌套。

http://www.sinatrarb.com/contrib/namespace.html

然后你可以做这样的事情:

namespace '/v1' do
  get '/command_1' {}
  get '/command_2' {}
  # etc
end
于 2012-12-06T06:59:21.217 回答
0
get '/v1/command_:command' do |command|
  # ...
end
于 2012-12-06T02:08:53.070 回答