Express API 错误处理中间件教程
项目介绍
api-error-handler 是一个用于 Express.js 的开源中间件,专门设计来处理和格式化 API 错误响应。它帮助开发者统一错误响应的格式,并提供清晰的错误信息,从而提升 API 的可用性和可维护性。
项目快速启动
安装
首先,你需要安装 api-error-handler 中间件:
npm install api-error-handler
使用
在你的 Express 应用中引入并使用 api-error-handler:
const express = require('express');
const apiErrorHandler = require('api-error-handler');
const app = express();
// 你的路由和中间件
app.get('/example', (req, res, next) => {
// 模拟错误
const error = new Error('这是一个示例错误');
error.status = 400;
next(error);
});
// 使用错误处理中间件
app.use(apiErrorHandler());
app.listen(3000, () => {
console.log('服务器运行在 http://localhost:3000');
});
应用案例和最佳实践
自定义错误响应
你可以通过自定义错误类来扩展错误响应的功能:
class CustomError extends Error {
constructor(message, status) {
super(message);
this.status = status;
}
}
app.get('/custom-error', (req, res, next) => {
const error = new CustomError('这是一个自定义错误', 403);
next(error);
});
日志记录
结合日志记录中间件,可以更好地追踪和调试错误:
const winston = require('winston');
const logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
transports: [
new winston.transports.File({ filename: 'error.log', level: 'error' }),
],
});
app.use((err, req, res, next) => {
logger.error(err.message, { status: err.status });
next(err);
});
典型生态项目
Express.js
api-error-handler 是专为 Express.js 设计的,因此与 Express.js 框架完美集成。
Winston
Winston 是一个流行的日志记录库,可以与 api-error-handler 结合使用,提供强大的日志记录功能。
Morgan
Morgan 是一个 HTTP 请求日志中间件,可以与 api-error-handler 一起使用,记录所有的 HTTP 请求和响应。
通过这些生态项目的结合,可以构建一个健壮且易于维护的 Express API 应用。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



