是否可以在葡萄途径中提供可选的URL参数。
IE中。 对于像:
这样的端点 get '/user/:name/:location/:id' do
end
有没有办法在URL中使用或不使用“location”参数来命中此端点。
我尝试使用括号为可选参数定义端点,如下所示:
get '/user/:name/(:location)/:id' do
end
但这不起作用
答案 0 :(得分:0)
我建议您使用location
作为查询参数。这样你就可以使它成为可选的,只保留一条路线。
params do
optional :location, type: String
end
get '/user/:name/:id' do
if params[:location].present?
# some code
else
# some code
end
end
此路线将由/user/:name/:id?location={something}
与位置匹配,/user/:name/:id
与之匹配。