Express 中路由级中间件是什么?

· 约 2 分钟读完 · 第 15 / 120 章

推荐答案

在 Express 中,路由级中间件是指绑定到特定路由路径的中间件函数。它通常用于处理特定路由的请求,并且只在匹配到该路由时才会执行。路由级中间件可以通过 app.use() 或 app.METHOD()(如 app.get()、app.post() 等)来定义。

示例代码

在这个例子中,/api 路径的路由级中间件会在请求 /api/users 时执行。

本题详细解读

什么是路由级中间件?

路由级中间件是 Express 框架中的一种中间件类型,它与特定的路由路径绑定。当请求的 URL 匹配到该路径时,中间件函数会被调用。路由级中间件通常用于处理特定路由的请求逻辑,例如权限验证、日志记录等。

路由级中间件的使用场景

  1. 权限验证:在访问某些敏感路由时,可以使用路由级中间件来验证用户的权限。
  2. 日志记录:记录特定路由的访问日志。
  3. 请求预处理:在进入路由处理函数之前,对请求进行预处理,如解析请求体、设置请求头等。

路由级中间件与应用程序级中间件的区别

  • 应用程序级中间件:通过 app.use() 定义,适用于所有路由。
  • 路由级中间件:通过 app.use(path, middleware) 或 app.METHOD(path, middleware) 定义,仅适用于特定路径的路由。

示例解析

在示例代码中,app.use('/api', middleware) 定义了一个路由级中间件,它会在所有以 /api 开头的路由请求时执行。例如,当访问 /api/users 时,中间件会先执行,然后才会进入 /api/users 的路由处理函数。

注意事项

  • 路由级中间件的执行顺序与定义顺序有关,先定义的中间件会先执行。
  • 如果中间件函数中没有调用 next(),请求将不会继续传递到下一个中间件或路由处理函数。