【发布时间】:2022-02-18 03:55:37
【问题描述】:
我希望能够有两个端点共享根路径,两者都用于不同的目的。 一种是通过其 ID 获取用户,另一种是通过令牌获取。
现在我有以下路线:
router.get('/:idUser', paramValidationRules(), validate, verifyJWT, getUserFromId);
router.route('/me').get(verifyJWT, getUserFromToken);
运行测试,第二条路线上的“我”被视为一个参数,并将其重定向到第一条路线。是否可以共享一个根路径,指定一个将严格用于“我”,另一个用于整数?
【问题讨论】:
-
不推荐使用像
/:idUser这样的顶级通配符路由。这特别是因为它会干扰您使用任何其他顶级路由的能力,即使您将其他路由放在首位,以便它们在通配符之前拦截请求,您也会冒最终用户创建与您的用户 ID 冲突的风险顶级路线。