使用 Express.js 构建简易 REST API — 正确方式

发布: (2026年2月6日 GMT+8 00:20)
3 min read
原文: Dev.to

Source: Dev.to

构建一个简洁的 Express.js REST API — 正确方式的封面图片

大多数 Node.js 开发者在学习后端开发时都会从 Express 入手。但即使是有经验的开发者也常常忽视那些影响可扩展性、可维护性和安全性的关键架构决策。

今天,我们将通过 Express.js 手把手搭建一个干净、模块化的 REST API,内容包括:

  • API 结构
  • 路由
  • 控制器
  • 中间件
  • 错误处理
  • 环境配置

🧱 项目结构

从一个整洁的结构开始:

project-root/
├── controllers/
├── routes/
├── middlewares/
├── models/
├── config/
├── utils/
├── app.js
└── server.js

这种模块化的布局能够很好地支撑不断增长的应用。

🧪 步骤详解:创建一个简单的 API

1. 安装 Express

npm init -y
npm install express dotenv

2. 创建 server.js

const app = require('./app');
const PORT = process.env.PORT || 5000;

app.listen(PORT, () => {
  console.log(`Server running on port ${PORT}`);
});

3. 创建 app.js

const express = require('express');
const app = express();
const userRoutes = require('./routes/userRoutes');

app.use(express.json());
app.use('/api/users', userRoutes);

// 全局错误处理器
app.use((err, req, res, next) => {
  res.status(err.status || 500).json({ message: err.message });
});

module.exports = app;

4. 添加控制器 (controllers/userController.js)

exports.getAllUsers = (req, res) => {
  res.json([{ id: 1, name: 'Dipak' }]);
};

5. 添加路由 (routes/userRoutes.js)

const express = require('express');
const router = express.Router();
const userController = require('../controllers/userController');

router.get('/', userController.getAllUsers);
module.exports = router;

🛡️ 添加环境配置

  • 创建 .env 文件:
PORT=5000
NODE_ENV=development
  • server.js 中加载(dotenv 已经安装):
require('dotenv').config();

🔒 添加错误处理中间件

创建 middlewares/errorHandler.js

const errorHandler = (err, req, res, next) => {
  console.error(err.stack);
  res.status(500).json({ message: 'Something went wrong!' });
};

module.exports = errorHandler;

app.js 中注册:

const errorHandler = require('./middlewares/errorHandler');
app.use(errorHandler);

📦 进阶:为安全添加 CORS 与 Helmet

npm install cors helmet
const cors = require('cors');
const helmet = require('helmet');

app.use(cors());
app.use(helmet());

✅ 最终效果

运行服务器:

node server.js

访问 http://localhost:5000/api/users,你将看到:

[
  { "id": 1, "name": "Dipak" }
]

简洁、模块化、可投入生产!

🔚 最后思考

在 Node.js 中构建 REST API 本身很简单——但要做好则需要规划。保持结构清晰、将逻辑模块化、并构建安全的端点。你不仅在学习 Express,更在成为一名更优秀的后端工程师。

Back to Blog

相关文章

阅读更多 »

为个人理财启动 NestJS API

概述:大多数在线的 NestJS 教程仅停留在基本的 CRUD 操作或简单的 TODO 列表应用。在本系列中,我们将超越这些初学者的内容。