Node.js实战:构建高效的RESTful API
RESTful API是现代Web服务的主流架构风格。它使用HTTP协议的标准方法(GET、POST、PUT、DELETE)来实现对资源的增删改查操作。本文将使用Node.js和Express框架,从零开始构建一个完整的RESTful API。
项目初始化
首先,创建项目目录并初始化:
mkdir my-api && cd my-api
npm init -y
npm install express cors helmet morgan
我们安装了express作为Web框架,cors处理跨域,helmet增加安全性,morgan记录HTTP日志。
创建服务器
const express = require('express');
const cors = require('cors');
const helmet = require('helmet');
const morgan = require('morgan');
const app = express();
// 中间件
app.use(helmet());
app.use(cors());
app.use(morgan('combined'));
app.use(express.json());
// 路由
app.get('/api/users', (req, res) => {
res.json([{ id: 1, name: '张三' }, { id: 2, name: '李四' }]);
});
app.listen(3000, () => {
console.log('服务器运行在 http://localhost:3000');
});
RESTful路由设计
一个规范的RESTful API应该遵循以下路由约定:
GET /users - 获取用户列表
GET /users/:id - 获取单个用户
POST /users - 创建用户
PUT /users/:id - 更新用户
DELETE /users/:id - 删除用户
错误处理
良好的错误处理是API可靠性的保障:
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).json({
error: '服务器内部错误',
message: err.message
});
});
总结
构建RESTful API需要注意:遵循HTTP语义、使用合适的HTTP状态码、保持路由设计一致、做好错误处理和日志记录、使用中间件增强安全性和功能性。