HTTP 服务器:路由
一个 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 -N https://docs.deno.org.cn/examples/scripts/http_server_routing.ts
在 Deno Deploy 演练场 中尝试此示例