Sinatra具有可选的查询参数

时间:2014-08-12 07:01:40

标签: ruby regex routes sinatra

我想创建一个带有可选查询参数的Sinatra API路由。我可以按如下方式添加查询参数

  

%R {^ / MySQL的/数据/(?)/ START_TIME =(\ W *)/?}

但是与上述路线对应的路线就像" / mysql / data /:name / start_time =:start_time"

我需要将查询参数作为可选参数,并以URL格式声明。

例如:

  

/ MySQL的/数据/:名称START_TIME =:START_TIME&安培; END_TIME =:END_TIME

Sinatra有没有办法做到这一点?

1 个答案:

答案 0 :(得分:17)

引自Sinatra文档:

# Routes may also utilize query parameters:

get '/posts' do
  # matches "GET /posts?title=foo&author=bar"
  title = params[:title]
  author = params[:author]
  # uses title and author variables; query is optional to the /posts route
end

在您的情况下,只需使用/mysql/data/:name,即可通过params自动获取所有查询参数。