node.js - express 路线参数条件

标签 node.js express routing url-routing

我的 Express 应用上有一条如下所示的路线:

app.get('/:id', function (request, response) {
  …
});

ID 始终是一个数字。但是,目前该路由正在匹配其他内容,例如 /login

我想我想从中得到两件事:

  1. 仅在 ID 为数字时使用此路由,并且
  2. 仅当没有为该特定参数定义路由时(例如与 /login 冲突)。

这个可以吗?

最佳答案

扩展 Marius 的答案,您可以提供正则表达式和参数名称:

app.get('/:id(\\d+)/', function (req, res){
  // req.params.id is now defined here for you
});

关于node.js - express 路线参数条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11258442/

相关文章:

node.js - Node 匹配动态url

node.js - 我应该如何在同一系统上组织多个 Express 服务器?

javascript - 根据请求设置对象。在调用第二个中间件时,两个中间件中的第一个似乎不存在

php - LARAVEL 4 解决方案动态 SEO URLs 通缉

javascript - Node.js 的故障 promise 复制值

javascript - 为什么 Promise 会捕获语法错误?

node.js - Express 中的 multer-s3 上传速度慢得离谱

node.js - 可怕的错误 : bad content-type header, 未知内容类型:文本/纯文本;字符集=UTF-8

php - Symfony2 路由 : Two optional parameters - at least one required

routing - 有没有办法让 Phoenix 插头只用于一条路线?