📜  Express.js | app.route()函数(1)

📅  最后修改于: 2023-12-03 15:14:57.576000             🧑  作者: Mango

Express.js | app.route()函数

在 Express.js 中,app.route() 函数可以让你创建路由路径的链式路由句柄。这个方法不需要指定请求方法,因为它会自动识别来自客户端的 HTTP 请求的请求方法。

使用方式
const express = require('express');
const app = express();

app.route('/book')
  .get((req, res) => {
    res.send('Get a random book');
  })
  .post((req, res) => {
    res.send('Add a book');
  })
  .put((req, res) => {
    res.send('Update the book');
  });

使用 app.route() 函数,你可以在同一路径下定义多个请求方法,这些请求方法可以共享一个中间件。

app.route('/user')
  .all((req, res, next) => {
    console.log('Accessing the user section ...');
    next(); // pass control to the next handler
  })
  .get((req, res) => {
    res.send('Get a random user');
  })
  .post((req, res) => {
    res.send('Add a user');
  })
  .put((req, res) => {
    res.send('Update the user');
  });

这里使用了 all() 方法来指定中间件。

这个例子中,使用 all() 方法来检测访问用户页面的路由请求。通过 app.route('/user').all(),我们不仅可以使用共享的中间件,也可以处理路由,定义多个 HTTP 请求的不同方法。这里,当访问 /user 页面时,我们会首先进入中间件,然后进入 get() 方法、post() 方法、put() 方法等等,这些方法对于 /user 页面都具有相同的路由路径。

总结

app.route() 函数可以让我们使用同一路由路径处理多个不同的 HTTP 请求方式。使用时,请注意正确的请求方法以及定义路由路径。