Deno 应用中如何处理 HTTP 请求响应

阅读时长 5 分钟读完

Deno 是一个现代化的 JavaScript 和 TypeScript 运行时,它的目标是成为一个安全、可靠且有弹性的运行时环境。在使用 Deno 开发应用时,处理 HTTP 请求响应是必不可少的一项技能。本文将详细介绍在 Deno 中如何处理 HTTP 请求响应。

Deno 中处理 HTTP 请求响应的基本操作

在 Deno 中,可以使用标准的 TypeScript 类来处理 HTTP 请求响应,示例如下:

这段代码创建了一个 HTTP 服务器,该服务器侦听在本地主机的 8000 端口上。每当有一个 HTTP 请求到达服务器时,它将发送一个 "Hello World" 响应。

此代码使用了 Deno 标准库中的 serve 方法来创建 HTTP 服务器。该方法接受一个选项对象,用于配置服务器的端口、主机名等参数。对于每个收到的请求,我们使用 for-await-of 来异步迭代每个请求,然后调用 req.respond 方法来发送响应。

操作 HTTP 请求头和响应头

在实际的应用中,可能需要设置 HTTP 请求头或响应头。在 Deno 中,可以使用标准 TypeScript 类库中的 Headers 类来操作 HTTP 请求头或响应头。示例如下:

-- -------------------- ---- -------
------ - ----- - ---- ---------------------------------------

----- - - ------- ----- ---- ---
--------------------------------------

--- ----- ------ --- -- -- -
  ----- ------- - --- ----------
  --------------------------- -------------

  -------------
    ------- ----
    --------
    ----- ---------- ------------
  ---
-

在此示例中,我们创建了一个名为 headers 的新 Headers 实例,并使用 .set 方法来设置名称为 "Content-Type" 的请求头。然后我们将Headers 实例传递给 req.respond 方法中作为 headers 选项的值。

发送 JSON 格式的响应

很多时候,我们需要以 JSON 格式发送响应。在Den中,我们可以使用 JSON.stringify 方法将对象转换为 JSON 字符串。示例如下:

-- -------------------- ---- -------
------ - ----- - ---- ---------------------------------------

----- - - ------- ----- ---- ---
--------------------------------------

--- ----- ------ --- -- -- -
  ----- ------- - --- ----------
  --------------------------- --------------------

  ----- ---- - ---------------- ---- ------ ------ ---

  -------------
    ------- ----
    --------
    -----
  ---
-

在此示例中,我们将 HTTP 响应的内容设置为 JSON 格式 ,并使用 .set 方法设置 header 的 Content-Type 为 application/json。

处理 404 错误

在实际应用中,可能会发生 404 错误。在 Deno 中,可以通过在 req.respond() 方法中指定 status 为 404 来处理 404 错误。示例如下:

-- -------------------- ---- -------
------ - ----- - ---- ---------------------------------------

----- - - ------- ----- ---- ---
--------------------------------------

--- ----- ------ --- -- -- -
  -- -------- -- ------- -
    ------------- ------- ---- ----- ---- ------ ---
  - ---- -
    ------------- ----- ------ -------- ---
  -
-

在此代码示例中,我们检查请求 URL 是否为 "/404"。如果是,我们将响应的状态设置为 404,并将响应内容设置为 "Not Found"。如果不是,我们将响应内容设置为 "Hello World"。

总结

在本文中,我们详细介绍了在 Deno 应用中如何处理 HTTP 请求响应。我们学习了 Deno 中处理 HTTP 请求响应的基本操作,操作 HTTP 请求头和响应头,以及如何发送 JSON 格式的响应和处理 404 错误。希望这些内容对您开发 Deno 应用有帮助,并为您提供指导意义的启示。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6481285c48841e9894093ae9

纠错
反馈