我遇到了一个可能听起来很奇怪但很多人必须处理的问题。
我在routes.js
文件中定义了两条路线。
ROUTE1
router.route('/atpages/:query')
.get(app.oauth.authorise(), atpagesController.getAtpagesByIdOrName);
Route2到
router.route('/atpages/match')
.get(app.oauth.authorise(), atpagesController.matchAtpagesByUrl);
这两条路线都应该在控制器中调用不同的功能,但问题是每当我点击 Route2 时,会自动调用 Route1 。
我知道它正在考虑将match
作为查询的问题,我的问题是我需要路由来点击不同的问题而不重新定义他们的端点。
我想要的是路线应该保持原样,但是它们应该只打击各自的功能。
TIA。
答案 0 :(得分:1)
您可以检查路由1控制器中的查询是否与匹配不相同,如下所示:
function getAtpagesByIdOrName (req, res, next) {
if (req.params.query == 'match') {
next();
}
}