📅  最后修改于: 2023-12-03 15:19:48.472000             🧑  作者: Mango
req.params
介绍在 Node.js 中,req.params
是 Express 中的一个对象,它代表了 HTTP 请求的 URL 参数。
当我们在路由中定义 URL 时,我们可以使用占位符,例如 /:id
,这样的 URL 就可以匹配所有以该路径为前缀的请求,而占位符中的部分则可以是任意值。例如,如果有一个请求的 URL 是 /123
,那么 Express 将会自动把 123
作为 req.params.id
的值传递给我们的路由处理程序。
req.params
我们可以使用 req.params
来获取 URL 参数。如下所示:
app.get('/users/:id', function (req, res) {
res.send('User ID: ' + req.params.id)
})
在上述代码中,我们定义了一个路由来处理 /users/:id
路径下的 GET 请求,并将 URL 参数 :id
的值通过 req.params.id
传递到请求处理程序中。
在 Express 中,我们可以使用标准的路由定义来定义 URL,使用括号表示占位符,例如:
app.get('/users/:id', function (req, res) {
res.send('User ID: ' + req.params.id)
})
在上述代码中,我们使用 /:id
定义了一个占位符,表示 URL 中的一个补位符,它可以是任何值,并将其传递到我们的路由处理程序中。
如果我们在 URL 中定义了多个参数,例如 /:username/:password
,那么我们可以通过 req.params.username
和 req.params.password
来分别访问它们。
我们可以使用正则表达式来限制 URL 的格式。例如,如果我们要访问 /users/12345
,但是只接受纯数字作为 ID,那么可以在路由中使用正则表达式:/users/:id(\d+)
。这个正则表达式表示 id
应该匹配一个或多个数字。
app.get('/users/:id(\\d+)', function (req, res) {
res.send('User ID: ' + req.params.id)
})
如上述代码所示,我们在路由中通过 /:id(\d+)
的方式来限制 id
参数的格式,这样只有匹配完整的数字才会被通过。
req.params
是 Express 中与 HTTP 请求 URL 参数相关的对象。通过 req.params
,我们可以轻松地访问 URL 中的参数,并且可以通过正则表达式来限制 URL 参数的格式。