使用 Express.js 和 PostgreSQL 创建 REST API

阅读时长 8 分钟读完

简介

REST (Representational State Transfer) API 是一种常用的 Web API 设计风格,它的核心概念是资源 (Resource) 和操作 (Method)。Express.js 是一个基于 Node.js 的 Web 框架,它可以帮助我们快速地创建 Web 应用程序。PostgreSQL 是一个开源的关系型数据库管理系统。

在本文中,我们将介绍如何使用 Express.js 和 PostgreSQL 创建 REST API,并提供示例代码和详细的指导。

准备工作

在开始之前,我们需要安装以下软件:

  • Node.js
  • PostgreSQL

我们还需要创建一个新的数据库。可以使用以下命令在 PostgreSQL 中创建一个新的数据库:

创建 Express.js 应用程序

首先,我们需要创建一个新的 Express.js 应用程序。可以使用以下命令创建一个新的应用程序:

在创建完应用程序之后,我们需要创建一个新的 Express.js 路由器。可以使用以下命令创建一个新的路由器:

routes/index.js 文件中,我们可以编写我们的路由器代码。下面是一个简单的示例:

app.js 文件中,我们可以将我们的路由器挂载到应用程序中。下面是一个简单的示例:

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

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

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

在上面的示例中,我们将我们的路由器挂载到了应用程序的根路径上。

现在,我们可以使用以下命令启动我们的应用程序:

如果一切正常,我们应该能够在浏览器中访问 http://localhost:3000 并看到 "Hello World!"。

连接到 PostgreSQL 数据库

接下来,我们需要连接到我们的 PostgreSQL 数据库。可以使用以下命令连接到数据库:

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

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

在上面的示例中,我们创建了一个名为 pool 的连接池。我们需要提供以下信息:

  • user:数据库用户的名称
  • host:数据库服务器的名称或 IP 地址
  • database:要连接的数据库的名称
  • password:数据库用户的密码
  • port:数据库服务器的端口号

现在,我们可以使用以下命令从数据库中获取数据:

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

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

在上面的示例中,我们使用了 pool.connect() 方法从连接池中获取一个新的客户端。然后,我们可以使用 client.query() 方法来执行 SQL 查询。最后,我们使用 client.release() 方法释放客户端。

创建 REST API

现在,我们可以创建我们的 REST API。我们将创建一个名为 "users" 的资源,并实现以下操作:

  • GET /users - 获取所有用户
  • GET /users/:id - 获取特定用户
  • POST /users - 创建新用户
  • PUT /users/:id - 更新特定用户
  • DELETE /users/:id - 删除特定用户

下面是一个示例代码:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

在上面的示例中,我们使用了以下路由器方法:

  • router.get() - 处理 GET 请求
  • router.post() - 处理 POST 请求
  • router.put() - 处理 PUT 请求
  • router.delete() - 处理 DELETE 请求

我们还使用了以下路由器参数:

  • req.params - 包含 URL 中的参数
  • req.body - 包含 POST 和 PUT 请求中的数据

结论

使用 Express.js 和 PostgreSQL 创建 REST API 可以帮助我们快速地创建 Web 应用程序。在本文中,我们介绍了如何创建 Express.js 应用程序、连接到 PostgreSQL 数据库,并创建 REST API。我们还提供了示例代码和详细的指导。希望这篇文章能够对你有帮助!

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

纠错
反馈