Node.js 反向快速订购路线

Node.js 反向快速订购路线,node.js,express,router,inversifyjs,Node.js,Express,Router,Inversifyjs,我正在使用inversify express utils,我正在寻找一种方法来设置端点匹配的顺序 例如。。。使用express。路由器可能有 router.get('/users/me') router.get('/users/:userId') 而users/me端点将成功解析 但是使用inversify,我有这样的端点和控制器(省略细节只是为了显示装饰器) 似乎users/me控制器稍后才注册,即使我之前导入了它,因此它调用users/:userId,而userId参数设置为我 有没有办法

我正在使用
inversify express utils
,我正在寻找一种方法来设置端点匹配的顺序

例如。。。使用express。路由器可能有

router.get('/users/me')
router.get('/users/:userId')
users/me
端点将成功解析

但是使用
inversify
,我有这样的端点和控制器(省略细节只是为了显示装饰器)

似乎
users/me
控制器稍后才注册,即使我之前导入了它,因此它调用
users/:userId
,而
userId
参数设置为我

有没有办法对其进行排序?

使用正则表达式条件

router.get('users/:userId(^me$)', (req, res) => {

      res.send('it is me')
  });

router.get('users/:userId)', (req, res) => {

      res.send('it is not me')
  });

不。。。这仍然在使用express的本地路线注册,如果没有这个古怪的解决方法,它可以很好地工作。更新了我的问题以使其更清晰。。。关键是我们使用这个包()专门注册端点,而不是express的原生express.Router
@controller('/users/me')
   @httpGet('/')
router.get('users/:userId(^me$)', (req, res) => {

      res.send('it is me')
  });

router.get('users/:userId)', (req, res) => {

      res.send('it is not me')
  });