ExpressJs路由未正确检测

ExpressJs路由未正确检测,express,Express,我已经定义了以下路由,我不明白为什么express试图使用第一个路由,在调用第二个路由时抛出cast错误。SUB不是路由PARAM,但仍然是这样考虑的。p> get('/api/main/:id',requestId,abcController.findOne) app.get('/api/main/sub',requestId,abcController.findAll) Express使用第一条路由,因为它是先声明的,并且它也匹配/api/main/sub。谢谢robert,您知道在不需要更

我已经定义了以下路由,我不明白为什么express试图使用第一个路由,在调用第二个路由时抛出cast错误。SUB不是路由PARAM,但仍然是这样考虑的。p> get('/api/main/:id',requestId,abcController.findOne)


app.get('/api/main/sub',requestId,abcController.findAll)

Express使用第一条路由,因为它是先声明的,并且它也匹配
/api/main/sub
。谢谢robert,您知道在不需要更改路由的情况下解决此问题的方法是什么吗。请将其声明转过来(
/api/main/sub
第一条,
/api/main/:id
下一条)。当我想用查询参数调用/api/main/:id时,这不是问题。我现在试着这么做,但我认为只有当这个参数等于
sub
(我认为这不会发生)时才会有问题。