使用Node.js和Express构建CRUD API的入门指南

作者:API传播员 · 2025-12-16 · 阅读时间:7分钟

在这篇文章中,我们将带您逐步学习如何使用 Node.js 和 Express 构建一个功能齐全的 CRUD API。无论您是后端开发的新手还是希望进一步提升技能的开发者,这篇指南都将为您提供清晰的步骤和实用的建议。


什么是 CRUD API?

在开始之前,我们需要了解 CRUD API 的基本概念:

  • CRUD:代表创建(Create)、读取(Read)、更新(Update)和删除(Delete),这是对数据库中数据的四种基本操作。
  • API:即应用程序编程接口(Application Programming Interface),是一组规则和协议,用于构建和与软件应用程序交互。

通过 CRUD API,您可以通过定义的接口实现数据的创建、读取、更新和删除操作。


为什么选择 Node.js 和 Express?

Node.js 是一个强大的 JavaScript 运行时环境,允许您在服务器端运行 JavaScript。它具有以下特点:

  • 高性能:基于事件驱动和非阻塞 I/O。
  • 可扩展性:适合构建高并发的应用程序。
  • 社区支持:拥有丰富的开源资源。

Express 是 Node.js 的一个轻量级 Web 应用框架,它简化了服务器和 API 的开发过程,为开发者提供了高效的工具。


搭建开发环境

在开始构建 CRUD API 之前,我们需要设置开发环境。

安装 Node.js 和 npm

首先,确保您的计算机上已安装 Node.js 和 npm(Node.js 包管理器)。安装完成后,打开终端并运行以下命令检查版本:

node -v
npm -v

初始化 Node.js 项目

创建一个新文件夹作为项目目录,然后在终端中导航到该目录并运行以下命令:

npm init -y

此命令将生成一个 package.json 文件,用于管理项目的依赖项和配置。

安装 Express 和其他依赖项

运行以下命令安装 Express:

npm install express

创建基本服务器

接下来,我们将创建一个基本的服务器。

  1. 在项目目录中创建一个名为 server.js 的文件。
  2. 在文件中添加以下代码:
const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Hello World!');
});app.listen(3000, () => {
  console.log('Server is running on http://localhost:3000');
});
  1. 启动服务器:
node server.js

打开浏览器访问 http://localhost:3000,您应该会看到 "Hello World!" 的输出。


设计 API 端点

CRUD 操作的基本端点设计:

  • 创建数据POST /books
  • 读取所有数据GET /books
  • 读取单条数据GET /books/:id
  • 更新数据PUT /books/:id
  • 删除数据DELETE /books/:id

RESTful 原则

遵循 RESTful 原则设计 API,可以使其更直观和易于使用:

  • 使用 HTTP 方法(如 GET、POST、PUT、DELETE)表示操作类型。
  • 使用逻辑清晰的 URL 结构。

实现 CRUD 操作

以下是每个 CRUD 操作的实现步骤:

创建数据

server.js 文件中添加以下代码:

app.use(express.json());

let books = [];app.post('/books', (req, res) => {
  const { title, author } = req.body;  if (!title || !author) {    return res.status(400).send('Title and author are required.');
  }
  const book = { id: books.length + 1, title, author };
  books.push(book);
  res.status(201).json(book);
});

读取数据

获取所有书籍:

app.get('/books', (req, res) => {
  res.json(books);
});

获取单本书籍:

app.get('/books/:id', (req, res) => {
  const book = books.find(b => b.id === parseInt(req.params.id));
  if (!book) {
    return res.status(404).send('Book not found.');
  }
  res.json(book);
});

更新数据

更新书籍信息:

app.put('/books/:id', (req, res) => {
  const book = books.find(b => b.id === parseInt(req.params.id));
  if (!book) {
    return res.status(404).send('Book not found.');
  }
  const { title, author } = req.body;
  if (title) book.title = title;
  if (author) book.author = author;
  res.json(book);
});

删除数据

删除书籍:

app.delete('/books/:id', (req, res) => {
  const bookIndex = books.findIndex(b => b.id === parseInt(req.params.id));
  if (bookIndex === -1) {
    return res.status(404).send('Book not found.');
  }
  books.splice(bookIndex, 1);
  res.status(204).send();
});

集成数据库

目前,我们使用的是内存数组存储数据。接下来,我们将集成 MongoDB 来实现持久化存储。

安装 Mongoose

运行以下命令安装 Mongoose:

npm install mongoose

连接 MongoDB

server.js 文件中添加以下代码:

const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost:27017/library', {
  useNewUrlParser: true,
  useUnifiedTopology: true,
}).then(() => console.log('Connected to MongoDB'))
  .catch(err => console.error('Could not connect to MongoDB', err));

定义数据模型

创建一个名为 book.js 的文件,并定义书籍模型:

const mongoose = require('mongoose');

const bookSchema = new mongoose.Schema({
  title: { type: String, required: true },
  author: { type: String, required: true },
});module.exports = mongoose.model('Book', bookSchema);

部署到 Heroku

完成开发后,您可以将 API 部署到 Heroku。

部署步骤

  1. 安装 Heroku CLI 并登录:
heroku login
  1. 初始化 Git 仓库并创建 Heroku 应用:
git init
heroku create
  1. 部署代码:
git add .
git commit -m "Initial commit"
git push heroku main
  1. 设置环境变量:
heroku config:set MONGODB_URI=
  1. 打开应用:
heroku open

总结

通过本指南,您已经学会了如何使用 Node.js 和 Express 构建一个功能齐全的 CRUD API。从环境搭建到数据库集成,再到最终部署,您完成了一次完整的开发流程。接下来,您可以尝试添加更多功能,例如用户身份验证、日志记录等,进一步提升 API 的功能和安全性。

继续探索和学习,期待您在开发之路上取得更多成就!

原文链接: https://www.harness.io/blog/introduction-to-building-a-crud-api-with-node-js-and-express