路由是在呼叫URL時確定應該發生什麼事情的過程,或者也可以確定應用程式的哪些部分應該處理特定的請求。
在Hello World的例子中,我們使用了這段程式碼:
app.get('/', (req, res) => { /* */ })
這創建了一個路由,將使用HTTP GET方法訪問根域名URL /
的請求映射到我們想提供的回應。
命名參數
如果我們想要聽取自定義請求,也許我們想要創建一個服務,接受一個字符串,並將其轉換為大寫,而且我們不希望參數作為查詢字串發送,而是作為URL的一部分。我們可以使用命名參數:
app.get('/uppercase/:theValue', (req, res) => res.send(req.params.theValue.toUpperCase()))
如果我們向 /uppercase/test
發送請求,我們會在響應的內容中得到 TEST
。
你可以在同一個URL中使用多個命名參數,它們都將被存儲在 req.params
中。
使用正則表達式匹配路徑
你可以使用正則表達式來通過一個語句匹配多個路徑:
app.get(/post/, (req, res) => { /* */ })
將匹配 /post
、/post/first
、/thepost
、/posting/something
等等。