使用 Fastify 和 Postgres 构建 RESTful API

阅读时长 8 分钟读完

随着移动互联网时代的到来,越来越多的公司需要建立自己的 RESTful API。RESTful API 是一种基于 REST(Representational State Transfer)必须符合一些规范的网络应用程序接口。它提供了一种简单、清晰、快速且可扩展的方式来实现不同应用程序之间的互操作。

在本文中,我们将探讨如何使用 Fastify 和 Postgres 在 Node.js 中构建 RESTful API,以便您可以构建一个完整的 Web 应用程序。

准备工作

在开始构建 RESTful API 之前,您需要确保已经安装了以下软件:

  • Node.js:可以从官方网站https://nodejs.org/en/download/ 下载和安装。
  • Fastify:Fastify 是一个高效、低开销且高度可定制的 Web 框架。可以通过运行 npm install fastify --save 安装。
  • Postgres:Postgres 是一个开源的对象关系型数据库。它提供了高度可靠性、可扩展性和安全性,是构建 Web 应用程序的最佳选择。可以通过运行 brew install postgresql(Mac) 或 sudo apt-get install postgresql(Linux) 安装。

设置数据库

在开始编写代码之前,您需要设置一个数据库。首先,启动 Postgres 进程,运行下面的命令:

接下来,您需要新建一个数据库和一个表。在终端中运行以下命令:

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

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

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

这些命令将在 Postgres 数据库中创建一个名为“users”的新数据库和一个名为“users”的表。

创建 RESTful API

现在,开始创建 RESTful API。在项目文件夹中创建一个新文件夹,命名为“src”。在这个文件夹中,创建一个新文件,名为“app.js”。

在文件中添加以下代码:

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

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

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

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

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

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

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

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

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

这些代码会创建一个 Fastify 服务器,并使用 pg 库连接到数据库。它提供了五个路由,可以处理 CRUD 操作,包括获取所有用户、创建新用户、获取单个用户、更新用户和删除用户。

测试 API

现在,启动服务器并测试 API。使用终端窗口,进入项目文件夹并运行以下命令:

在另一个终端窗口或使用 Postman 应用程序,进行以下测试。

  • 获取所有用户:

您应该会看到所有用户的 JSON 格式数据。

  • 创建新用户:

您应该会看到一个新用户的 id 号。

  • 获取单个用户:

您应该会看到特定用户的 JSON 格式数据。

  • 更新用户:

您应该会看到更新的用户的 id 号。

  • 删除用户:

您应该会看到被删除用户的 id 号。

结论

本文介绍了如何使用 Fastify 和 Postgres 构建 RESTful API,包括设置数据库、创建服务器和测试 API。希望本文可帮助您了解如何使用 Node.js 构建 Web 应用程序。

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

纠错
反馈