Ruby 是否可以在grape路由中提供可选的URL参数

Ruby 是否可以在grape路由中提供可选的URL参数,ruby,grape,grape-api,Ruby,Grape,Grape Api,是否可以在grape路由中提供可选的URL参数 即。 对于端点,例如: get '/user/:name/:location/:id' do end 是否有任何方法可以在URL中使用或不使用“location”参数来命中此端点 我尝试用括号为可选参数定义端点,如下所示: get '/user/:name/(:location)/:id' do end 但是这不起作用我建议您使用位置作为查询参数。这样你就可以选择它,只保留一条路线 params do opt

是否可以在grape路由中提供可选的URL参数

即。 对于端点,例如:

    get '/user/:name/:location/:id' do
    end
是否有任何方法可以在URL中使用或不使用“location”参数来命中此端点

我尝试用括号为可选参数定义端点,如下所示:

    get '/user/:name/(:location)/:id' do
    end

但是这不起作用

我建议您使用
位置
作为查询参数。这样你就可以选择它,只保留一条路线

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
匹配