HTTP 伺服器:路由
在 Github 上編輯
一個 HTTP 伺服器的範例,根據傳入的 URL 處理具有不同回應的請求。
URL 模式可用於匹配請求 URL。它們可以包含命名群組,可用於提取 URL 的部分內容,例如書籍 ID。
const BOOK_ROUTE = new URLPattern({ pathname: "/books/:id" });
function handler(req: Request): Response {
將傳入的請求與 URL 模式進行匹配。
const match = BOOK_ROUTE.exec(req.url);
如果存在匹配項,則提取書籍 ID 並傳回回應。
if (match) {
const id = match.pathname.groups.id;
return new Response(`Book ${id}`);
}
如果沒有匹配項,則傳回 404 回應。
return new Response("Not found (try /books/1)", {
status: 404,
});
}
若要在預設埠上啟動伺服器,請使用處理常式呼叫 `Deno.serve`。
Deno.serve(handler);
使用 Deno CLI 在本地執行此範例
deno run --allow-net https://deno-docs.dev.org.tw/examples/scripts/http_server_routing.ts
在 Deno Deploy playground 中試用此範例