Node.js + Express + MongoDB 完整指南:从零构建 REST API
作者:API传播员 · 2025-09-15 · 阅读时间:5分钟
本教程详细介绍了如何使用Node.js、Express和MongoDB创建一个功能完善的REST API。从项目初始化到API部署的完整流程,包括设置服务器、定义数据模型和创建路由。通过学习,您将能够独立构建和扩展RESTful APIs,掌握Node.js创建REST API的核心技术。
文章目录
一. 引言
本教程将详细介绍如何使用 Node.js、Express 和 MongoDB 创建一个功能完善的 REST API。通过本文,你将掌握从项目初始化到 API 部署的完整流程,并能够独立构建和扩展 RESTful APIs。
二. 先决条件
在开始之前,你需要具备以下基础知识:
- JavaScript 基础知识
- 对 Node.js 基础使用有所了解
三. 步骤 1:设置项目
首先,为项目创建一个新目录,并在终端中导航到该目录:
$ mkdir node-rest-api
$ cd node-rest-api
接着,初始化一个新的 Node.js 项目:
$ npm init -y
此命令会生成一个默认的 package.json
文件,用于管理项目依赖。
四. 步骤 2:安装依赖项
安装所需依赖,包括 Express、Mongoose 和 body-parser:
$ npm install express mongoose body-parser
- Express:快速搭建服务器和路由
- Mongoose:连接 MongoDB 并操作数据
- body-parser:解析请求体 JSON 数据
五. 步骤 3:创建服务器
在项目目录中创建 server.js
文件,并添加以下代码:
const express = require('express');
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
const app = express();
app.use(bodyParser.json());
const port = 3000;
mongoose.connect('mongodb://localhost:27017/rest-api-tutorial', {
useNewUrlParser: true,
useUnifiedTopology: true,
});
app.listen(port, () => {
console.log(服务器正在端口 ${port} 上运行
);
});
此代码完成了服务器初始化并连接本地 MongoDB 数据库。
六. 步骤 4:定义模型
创建一个名为 models
的文件夹,并在其中创建 book.js
文件:
const mongoose = require('mongoose');
const BookSchema = new mongoose.Schema({
title: { type: String, required: true },
author: { type: String, required: true },
publishedDate: { type: Date, required: true },
});
module.exports = mongoose.model('Book', BookSchema);
这里定义了一个书籍模型,包括标题、作者和出版日期。
七. 步骤 5:创建路由
创建 routes
文件夹,并在其中创建 book.js
文件:
const express = require('express');
const router = express.Router();
const Book = require('../models/book');
// 获取所有书籍
router.get('/', async (req, res) => {
try {
const books = await Book.find();
res.json(books);
} catch (err) {
res.status(500).json({ message: err.message });
}
});
// 添加一本书
router.post('/', async (req, res) => {
const book = new Book({
title: req.body.title,
author: req.body.author,
publishedDate: req.body.publishedDate,
});
try {
const newBook = await book.save();
res.status(201).json(newBook);
} catch (err) {
res.status(400).json({ message: err.message });
}
});
module.exports = router;
然后更新 server.js
以包含新路由:
const express = require('express');
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
const bookRoutes = require('./routes/book');
const app = express();
app.use(bodyParser.json());
app.use('/books', bookRoutes);
const port = 3000;
mongoose.connect('mongodb://localhost:27017/rest-api-tutorial', {
useNewUrlParser: true,
useUnifiedTopology: true,
});
app.listen(port, () => {
console.log(服务器正在端口 ${port} 上运行
);
});
八. 步骤 6:测试您的 API
启动服务器:
$ node server.js
使用工具(如 Postman 或 cURL)测试以下 API 路由:
- GET
/books
:获取所有书籍 - POST
/books
:添加一本书
示例 POST 请求体(JSON):
{
"title": "Node.js 入门",
"author": "张三",
"publishedDate": "2025-09-15"
}
九. 结论
恭喜!你已经成功使用 Node.js、Express 和 MongoDB 创建了一个 REST API。接下来可以根据需求扩展 API,添加更多路由和功能,例如:
- PUT /books/\:id(更新书籍信息)
- DELETE /books/\:id(删除书籍)
- 用户认证与权限管理
通过本文,你掌握了从项目初始化到 API 路由实现的完整流程,为构建更多高级功能打下坚实基础。
原文链接: https://reintech.io/blog/how-to-use-node-js-to-create-a-rest-api
热门推荐
一个账号试用1000+ API
助力AI无缝链接物理世界 · 无需多次注册
3000+提示词助力AI大模型
和专业工程师共享工作效率翻倍的秘密
热门API
- 1. AI文本生成
- 2. AI图片生成_文生图
- 3. AI图片生成_图生图
- 4. AI图像编辑
- 5. AI视频生成_文生视频
- 6. AI视频生成_图生视频
- 7. AI语音合成_文生语音
- 8. AI文本生成(中国)
最新文章
- Python调用免费翻译API实现Excel文件批量翻译
- 为开源项目 go-gin-api 增加 WebSocket 模块
- AI编程的风险,如何毁掉你的 API?
- 使用预约调度API的运输管理
- Claude 免费用户频繁被限流?实用应对策略推荐
- 如何获取谷歌新闻 API Key 密钥(分步指南)
- API 目录 – 什么是 API 目录?
- 用NestJS和Prisma: Authentication构建一个REST API
- DeepSeek – Anakin.ai 的 Reason 模型 API 价格是多少?
- 19个API安全最佳实践,助您实现安全
- 如何免费调用Kimi API实现项目集成
- 探索 Zomato API 的潜力