如何在 Deno 中构建 RESTful API?

阅读时长 10 分钟读完

介绍

Deno 是一个新型的 JavaScript 运行时环境,由著名 Node.js 创始人 Ryan Dahl 开发。相比于 Node.js,Deno 具有更安全,更高效,更简洁的特性,其中最受前端开发者欢迎的是其内置了 ES 模块支持和 TypeScript 支持。在本文中,我们将介绍如何使用 Deno 构建 RESTful API,为前端开发提供有用的指导。

步骤

1. 安装 Deno

前往 Deno 官网 https://deno.land,下载并安装最新版本的 Deno 运行时环境。

2. 构建项目目录结构

创建一个名为 "rest-api" 的项目目录,进入该目录后,创建以下目录结构:

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

3. 安装依赖

在终端中进入项目目录,执行以下命令安装需要的依赖:

4. 配置 TypeScript

在项目根目录下创建 "tsconfig.json" 文件,并添加以下配置:

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

5. 实现功能

下面,我们将按照以下步骤,逐个实现用户身份认证、获取用户信息、创建用户、更新用户和删除用户这几个功能。

认证

在 "app.ts" 文件中添加以下代码:

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

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

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

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

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

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

AuthMiddleware 验证用户的 Token 是否有效。当用户访问被保护的路由时,该中间件会先进行身份认证,只有认证通过才会继续访问相应的路由。

获取用户信息

在 "controllers/users.ts" 文件中添加以下代码:

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

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

在 "routes/users.route.ts" 文件中添加以下代码:

创建用户

在 "controllers/users.ts" 文件中添加以下代码:

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

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

在 "routes/users.route.ts" 文件中添加以下代码:

更新用户

在 "controllers/users.ts" 文件中添加以下代码:

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

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

在 "routes/users.route.ts" 文件中添加以下代码:

删除用户

在 "controllers/users.ts" 文件中添加以下代码:

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

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

在 "routes/users.route.ts" 文件中添加以下代码:

到此,我们已经完成了一个简单的 Deno RESTful API。通过运行以下命令,启动该应用:

结论

Deno 是一个有趣的 JavaScript 运行时环境,它比 Node.js 具有更多新的特性和优势,为前端开发提供了新的选择。在本文中,我们介绍了如何使用 Deno 构建 RESTful API,其中包括用户身份认证、获取用户信息、创建用户、更新用户和删除用户这几个功能。对于那些正在学习 Deno 或者想要使用 Deno 开发 RESTful API 的前端开发者来说,本文提供了有用的指导。

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

纠错
反馈