在Node.js中,可以使用中间件来追踪API调用。这里以Express框架为例,介绍如何使用中间件来追踪API调用。
npm install express
app.js
的文件,并在其中引入Express模块:const express = require('express');
const app = express();
const port = 3000;
function loggerMiddleware(req, res, next) {
const start = Date.now();
res.on('finish', () => {
const duration = Date.now() - start;
console.log(`${req.method} ${req.originalUrl} - ${res.statusCode} - ${duration}ms`);
});
next();
}
这个中间件会在请求开始时记录当前时间,然后在响应结束时计算持续时间,并输出相关信息。
app.use()
将日志中间件添加到Express应用中:app.use(loggerMiddleware);
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.get('/api/users', (req, res) => {
res.json([{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }]);
});
app.post('/api/users', (req, res) => {
// 假设这里有一些逻辑来处理用户创建
res.status(201).json({ id: 3, name: 'Charlie' });
});
app.listen(port, () => {
console.log(`Server is running at http://localhost:${port}`);
});
现在,当你运行node app.js
并访问API时,日志中间件将会追踪并输出API调用的相关信息。例如,访问http://localhost:3000/api/users
将输出类似以下内容:
GET /api/users - 200 - 123ms
这表示有一个GET请求被发送到/api/users
,响应状态码为200,持续时间为123毫秒。