如何使用 Deno 构建一个 RESTful API 服务器

介绍

Deno 是一个新的 TypeScript 运行时环境,它被许多人视为是 Node.js 的替代品。Deno 被设计为安全、快速和可扩展。本文将介绍如何使用 Deno 构建 RESTful API 服务器。

我们将使用 Deno 的标准库来创建路由、对请求进行解析和处理,并使用一个开源的第三方库来管理我们的 API。

安装 Deno

首先,我们需要安装 Deno。我们可以通过在终端中运行以下命令来安装:

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

或者使用以下命令(需要管理员权限):

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

创建项目

我们将从创建项目开始。首先,在终端中创建一个新的文件夹来存储我们的项目,并在该文件夹中创建一个名为 server.ts 的文件。

server.ts 文件中,我们需要导入 Deno 标准库的一些模块:

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

这些模块将帮助我们创建 HTTP 服务器和解析命令行参数。

接下来,我们需要定义一个对象来保存我们的 API 的路由。

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

这里我们定义了三个路由,分别是 //user/post

现在,我们需要创建一个函数来处理 HTTP 请求。

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

该函数接收一个 Request 对象作为参数,并根据 URL 路由到适当的路由处理程序。

最终,我们需要一个函数来启动我们的服务器。

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

该函数将创建一个 HTTP 服务器并循环监听来自客户端的请求。对于每个请求,它将使用 handleRequest() 函数来响应。

运行项目

现在我们可以启动服务器了。我们需要使用 parse 函数来解析运行时参数,以提供给我们的服务器一个主机和端口。

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

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

现在我们可以在终端中运行以下命令来启动服务器:

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

该命令会启动一个在本地主机 http://localhost:8080 上运行的服务器。

使用第三方库来管理 API

虽然我们已经成功地创建了一个 RESTful API 服务器,但我们可以使用第三方库来更好地管理我们的 API。

接下来,我们将使用 Oak,一个开源库,来重写我们的服务器。

首先,我们需要安装 Oak。

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

现在我们可以将 server.ts 文件中的所有内容替换为以下代码:

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

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

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

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

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

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

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

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

该代码首先导入 ApplicationRouter。然后,我们在创建 Router 对象时定义了三个路由处理程序,与之前一样。

接下来,我们创建一个 Application 对象,并使用 app.use() 方法来将路由绑定到应用程序。

最后,我们使用 app.listen() 方法来启动应用程序并监听来自客户端的请求。

现在,我们可以在终端中运行以下命令来启动服务器:

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

该命令会启动一个在本地主机 http://localhost:8080 上运行的服务器。

结论

在本文中,我们介绍了如何使用 Deno 标准库和第三方库 Oak 来构建一个 RESTful API 服务器。您现在对 Deno 和 Oak 有了更好的了解,可以继续探索它们的其他功能和用法。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/672d85f6eedcc8a97c85374a