什麼是路由

在 Sinatra 中,路由是你的應用程式響應請求的方式,請求的路徑(例如/welcome)和使用的 HTTP 動詞(例如 GETPOST)。請求的編寫方式如下:

<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 能夠使用正規表示式進行路由匹配(更多內容見下文)。