我想创建一个带有可选查询参数的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有没有办法做到这一点?
答案 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
自动获取所有查询参数。