deno.com

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://docs.deno.org.cn/examples/scripts/http_server_routing.ts

在 Deno Deploy playground 中尝试此示例

部署

您找到所需的内容了吗?

隐私政策