大家。
我正在使用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'或类似的东西开始吗?
提前致谢!
答案 0 :(得分:3)
我之前没有使用它,但有一个sinatra-contrib项目的扩展,可以让你像这样嵌套。
http://www.sinatrarb.com/contrib/namespace.html
然后你可以这样做:
namespace '/v1' do
get '/command_1' {}
get '/command_2' {}
# etc
end
答案 1 :(得分:0)
get '/v1/command_:command' do |command|
# ...
end