为了编写自定义中间件函数,需要使用 express.router() 创建路由器。然后,使用 use() 方法附加中间件函数,该函数接受 req(请求对象)、res(响应对象)和 next(下一个中间件或路由处理程序)。例如,可创建一个验证请求中令牌的中间件函数:在中间件函数中检查请求头中是否存在有效的令牌,如果令牌无效,返回 401 未授权错误。通过将此中间件添加到路由器,可以在请求到达路由处理程序之前验证令牌。
如何编写自定义中间件函数
中间件是 Express.js 和其他 Web 框架中强大且灵活的功能,它允许您在请求到达路由处理程序之前或之后执行自定义逻辑。本文将指导您编写自定义中间件函数,并提供一个实战案例 。
编写自定义中间件函数
为了编写自定义中间件函数,您需要使用 express.Router() 创建一个路由器。然后,您可以使用 use() 方法附加中间件函数。中间件函数是一个接受 req(请求对象)、res(响应对象)和 next(下一个中间件或路由处理程序)的函数。
以下是创建自定义中间件函数的示例:
1
2
3
4
5
6
7
8
9
10
11
const express = require(express);
const middleware = (req, res, next) => {
// 自定义逻辑
next();
};
const app = express();
// 将中间件添加到路由器
app.use(/api, middleware);
实战案例
考虑一个验证请求中令牌的中间件函数的实战案例 。要实现此功能,您可以在中间件函数中检查请求头中是否存在有效的令牌:
1
2
3
4
5
6
7
8
9
10
11
const middleware = (req, res, next) => {
const token = req.headers[authorization];
// 验证令牌
if (!token || !isValidToken(token)) {
return res.status(401).json({ message: Unauthorized });
}
// 继续处理请求
next();
};
通过将此中间件添加到您的路由器,您可以在请求到达路由处理程序之前验证令牌。如果令牌无效,中间件会向客户端返回 401 未授权错误。
以上就是如何使用中间件编写自定义函数?的详细内容,更多请关注其它相关文章!