什麼是路由
在 Sinatra 中,路由是你的應用程式響應請求的方式,請求的路徑(例如/welcome
)和使用的 HTTP
動詞(例如 GET
或 POST
)。請求的編寫方式如下:
<http-verb> <path> do
<code block to execute when this route is requested>
end
這是一個示例,通過返回一個“Hi,whats up”頁面來響應 GET
對/hello
路徑的請求:
get "/hello" do
return "Hi, whats up"
end
Sinatra 僅響應你定義的路線。如果你沒有定義路線,Sinatra 會返回一個 404 Page Not Found
錯誤頁面。
Sinatra 按照定義的順序響應路由。如果你有多個可以匹配給定請求的路由(請參閱“基於 Regexp 的路徑匹配”),則返回適合請求的第一個路由。
注意: Sinatra 將帶有和不帶前向斜線(/
)的路線視為 2 條不同且不同的路線。也就是說,get '/hello'
和 get '/hello/'
預設匹配不同的程式碼塊。如果要忽略尾部正斜槓並將兩條路徑視為相同,則可以在正斜槓後新增 ?
以使其可選,如下所示:get '/hello/?'
。這使用 Sinatra 能夠使用正規表示式進行路由匹配(更多內容見下文)。