【问题标题】:Is it possible to give optional URL parameter in grape route是否可以在葡萄路由中提供可选的 URL 参数
【发布时间】:2016-01-21 07:07:49
【问题描述】:

是否可以在葡萄路由中提供可选的URL参数。

即。 对于像这样的端点:

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

有没有办法在 URL 中使用或不使用“位置”参数来访问此端点。

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

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

但这没有用

【问题讨论】:

    标签: ruby grape grape-api


    【解决方案1】:

    我建议您使用location 作为查询参数。这样您就可以将其设为可选并仅保留 1 条路线。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-12
      • 1970-01-01
      • 2021-05-11
      • 1970-01-01
      相关资源
      最近更新 更多