跳至主要内容

HTTP 服务器:路由

一个 HTTP 服务器示例,根据传入的 URL 处理请求并返回不同的响应。

在 GitHub 上编辑
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://docs.deno.org.cn/examples/http-server-routing.ts

在 Deno Deploy Playground 中尝试此示例

部署