使用 Node.js 和 Express.js 创建 REST API 的最佳实践

阅读时长 8 分钟读完

REST(Representational State Transfer)是一个常用的用于创建 Web 服务的架构样式。现在,许多 Web 应用程序都使用 REST API 以实现各种功能,如建立用户帐户、创建订单等等。在本文中,我们将使用 Node.js 和 Express.js 创建 REST API 的最佳实践,以帮助你在创建 REST API 时更加高效和准确。

安装 Node.js 和 Express.js

使用 Node.js 和 Express.js 创建 REST API,要先安装这两个软件。你可以访问以下链接下载和安装它们。

创建一个 Express.js 项目

  1. 首先,为你的项目创建一个文件夹,并进入该文件夹。

  2. 然后,运行以下命令来初始化你的项目。

    这将创建一个 package.json 文件,其中包含了项目的元数据和依赖关系。

  3. 接下来,运行以下命令来安装 Express.js。

  4. 在你的项目根目录下创建一个 index.js 文件,这是你的项目入口点。

  5. 使用你喜欢的编辑器打开 index.js 文件,并输入以下代码来创建 Express 应用程序。

    此代码创建了一个 Express 实例,并将其监听在默认端口 3000 上。你可以通过访问 http://localhost:3000 来验证它是否运行正常。

创建 REST API 端点

在创建 REST API 时,要定义一些 API 端点,以向客户端提供服务。在 Express.js 中,你可以使用 app.get()app.post()app.put()app.delete() 等方法创建这些 REST API 端点。

以下示例是一个 REST API 端点示例代码,其中使用 app.get() 定义了一个 /hello 端点,当客户端请求此 URL 时,服务器将返回一个简单的 JSON 响应。

在上面的代码块中,我们将 /hello 路径与 app.get() 方法绑定,以在服务器端处理客户端请求。reqres 分别表示 Express 的请求和响应对象。我们通过调用 res.json() 方法,将 JSON 响应发送给客户端。

添加中间件

中间件是一种在路由处理程序之前或之后执行的功能。在 Express.js 中,你可以使用 app.use() 方法来添加中间件。

以下示例添加了一个名为 body-parser 的中间件,该中间件能够解析来自客户端请求的 JSON 数据。

在上面的代码块中,我们首先使用 require() 方法包含中间件。然后,我们使用 app.use() 方法将中间件添加到 Express 应用程序中。在此示例中,我们添加了 body-parser 中间件,以确保输入的请求能够正确地解析和处理。

使用 Swagger 描述 API

Swagger 是一种用于描述和文档化 Web API 的标准格式。在 Express.js 中,你可以使用 swagger-ui-expressswagger-jsdoc 包来使用 Swagger 描述 API。

以下示例代码使用 Swagger 描述 API。

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

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

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

在上面的代码块中,我们首先使用 swagger-jsdoc 描述 API,然后使用 swagger-ui-express 将其文档化。

管理数据库连接

在使用 REST API 时,很多时候需要连接数据库。连接数据库可以使用连接池和连接单例两种方式。

以下示例代码展示如何在 Express.js 中使用连接池和连接单例。

使用连接池

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

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

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

在上面的代码块中,我们使用 mysql 模块创建了一个 MySQL 连接池,并创建了一个帮助器函数 query() 用于执行 SQL 查询。query() 函数返回一个 Promise,以处理异步结果。

使用连接单例

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

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

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

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

在上面的代码块中,我们使用 mysql 模块创建了一个 MySQL 连接单例,并创建了一个帮助器函数 query() 用于执行 SQL 查询。query() 函数返回一个 Promise,以处理异步结果。

结论

在本文中,我们介绍了 Node.js 和 Express.js 的最佳实践,以创建 REST API。我们介绍了如何创建一个 Express.js 项目,并创建了一个 REST API 端点。我们还介绍了如何添加中间件、使用 Swagger 描述 API 和管理数据库连接。这些最佳实践将帮助你更快、更有效地创建 REST API。

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

纠错
反馈