在现代的 Web 开发中,RESTful API 是不可或缺的一部分。它们是构建 Web 应用程序和移动应用程序的基石,为客户端应用程序提供了可靠和可扩展的接口。
本文将介绍如何使用 Express.js 和 PostgreSQL 构建 RESTful API。我们将深入探讨如何设置和配置 Express.js 和 PostgreSQL,以及如何编写可扩展和可维护的 RESTful API。
准备工作
在开始之前,您需要安装以下软件:
- Node.js 和 npm
- PostgreSQL 数据库
您还需要具备以下技能:
- 基本的 JavaScript 和 Node.js 编程知识
- 基本的 SQL 知识
设置 Express.js 和 PostgreSQL
首先,我们需要设置 Express.js 和 PostgreSQL。我们将使用以下软件包:
- express:用于创建 Web 服务器和处理 HTTP 请求和响应。
- pg:用于连接和操作 PostgreSQL 数据库。
- body-parser:用于解析 HTTP 请求正文中的 JSON 数据。
您可以使用以下命令安装这些软件包:
npm install express pg body-parser
接下来,我们将创建一个名为 app.js
的文件,并添加以下代码:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ---------- - ----------------------- ----- - ---- - - -------------- ----- --- - ---------- ----- ---- - ----- ----- ---- - --- ------ ----- ---------------- ----- ------------ --------- ---------------- --------- ---------------- ----- ----- --- --------------------------- ------------ ----- ---- -- - --------------- --------- --- ---------------- -- -- - ------------------- --------- -- ---- ---------- ---
在这个文件中,我们创建了一个 Express 应用程序,并将其绑定到端口 3000
。我们还创建了一个 PostgreSQL 连接池,该连接池连接到本地 PostgreSQL 数据库。最后,我们添加了一个处理 HTTP GET 请求的路由,并在服务器启动时打印一条消息。
编写 RESTful API
现在,我们已经设置了 Express.js 和 PostgreSQL,我们可以开始编写 RESTful API。在本节中,我们将创建一个简单的 To-Do 应用程序,并为其编写 RESTful API。
创建数据库表
首先,我们需要创建一个名为 todos
的数据库表,该表将存储 To-Do 项。我们可以使用以下 SQL 命令创建该表:
CREATE TABLE todos ( id SERIAL PRIMARY KEY, title TEXT NOT NULL, completed BOOLEAN DEFAULT false );
在这个表中,我们定义了三个列:
id
:一个自增的整数,作为主键。title
:一个文本列,用于存储 To-Do 项的标题。completed
:一个布尔列,用于指示 To-Do 项是否已完成。
创建 RESTful API
接下来,我们将为 To-Do 应用程序编写 RESTful API。我们将创建以下路由:
GET /todos
:获取所有 To-Do 项。POST /todos
:创建一个新的 To-Do 项。GET /todos/:id
:获取特定 ID 的 To-Do 项。PUT /todos/:id
:更新特定 ID 的 To-Do 项。DELETE /todos/:id
:删除特定 ID 的 To-Do 项。
我们可以使用以下代码实现这些路由:
-- -------------------- ---- ------- -- ---- ----- - ----------------- ----- ----- ---- -- - --- - ----- - ---- - - ----- ------------------ - ---- -------- --------------- - ----- ----- - ------------------- ------------------------------ ------ -------- - --- -- ------ ----- - ------------------ ----- ----- ---- -- - ----- - ----- - - --------- -- -------- - ------ --------------------------- -- ----------- - --- - ----- - ---- - - ----- ----------- ------- ---- ----- ------- ------ ---- --------- --- -------- -- ------------------ - ----- ----- - ------------------- ------------------------------ ------ -------- - --- -- ---- -- - ----- - --------------------- ----- ----- ---- -- - ----- - -- - - ----------- --- - ----- - ---- - - ----- ----------- ------- - ---- ----- ----- -- - ---- ----- -- -- ------------ --- -- - ------ ------------------------- -------- - ------------------ - ----- ----- - ------------------- ------------------------------ ------ -------- - --- -- ---- -- - ----- - --------------------- ----- ----- ---- -- - ----- - -- - - ----------- ----- - ------ --------- - - --------- --- - ----- - ---- - - ----- ----------- ------- ----- --- ----- - --- --------- - -- ----- -- - -- --------- --- ------- ---------- ---- -- -- ------------ --- -- - ------ ------------------------- -------- - ------------------ - ----- ----- - ------------------- ------------------------------ ------ -------- - --- -- ---- -- - ----- - ------------------------ ----- ----- ---- -- - ----- - -- - - ----------- --- - ----- - ---- - - ----- ----------- ------- ---- ----- ----- -- - -- --------- --- ----- -- -- ------------ --- -- - ------ ------------------------- -------- - ------------------ - ----- ----- - ------------------- ------------------------------ ------ -------- - ---
在这个代码中,我们使用了 PostgreSQL 连接池执行 SQL 命令,并根据结果发送 HTTP 响应。我们还添加了一些错误处理,以确保我们的 API 可靠和可扩展。
测试 API
现在,我们已经编写了 RESTful API,我们可以使用 Postman 或类似的工具测试它们。我们可以使用以下请求测试我们的 API:
GET http://localhost:3000/todos
:获取所有 To-Do 项。POST http://localhost:3000/todos
:创建一个新的 To-Do 项。GET http://localhost:3000/todos/:id
:获取特定 ID 的 To-Do 项。PUT http://localhost:3000/todos/:id
:更新特定 ID 的 To-Do 项。DELETE http://localhost:3000/todos/:id
:删除特定 ID 的 To-Do 项。
我们可以使用以下 JSON 数据测试 POST
和 PUT
请求:
{ "title": "Buy milk", "completed": false }
总结
本文介绍了如何使用 Express.js 和 PostgreSQL 构建 RESTful API。我们学习了如何设置和配置 Express.js 和 PostgreSQL,以及如何编写可扩展和可维护的 RESTful API。我们还创建了一个简单的 To-Do 应用程序,并为其编写了 RESTful API。
通过学习本文,您应该能够:
- 设置和配置 Express.js 和 PostgreSQL。
- 编写可扩展和可维护的 RESTful API。
- 使用 PostgreSQL 连接池执行 SQL 命令。
- 使用 Postman 或类似的工具测试 API。
希望本文对您有所帮助!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6565b845d2f5e1655def0953