📅  最后修改于: 2023-12-03 15:14:57.576000             🧑  作者: Mango
在 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 请求方式。使用时,请注意正确的请求方法以及定义路由路径。