您好我有这些路线:
router.route('/begin-url-presaved-:param').get(Controller.method1)
router.route('/begin-url-postsaved-:param').get(Controller.method2)
router.route('/begin-url-:param').get(Controller.method3)
网址示例:
/begin-url-presaved-param001 (type: presaved, param: param001)
/begin-url-postsaved-param001 (type: postsaved, param: param001)
/begin-url-param001 (type: null, param: param001)
有任何方法可以对这些网址进行分组,因此它们将调用相同的控制器,然后我将只有一个路由,只有一个控制器。 像这样...
router.route('/begin-url-:type(presaved|postsaved)?-:param').get(Controller.method)
提前谢谢!
答案 0 :(得分:1)
这似乎有效:
router.get('/begin-url:type(-presaved|-postsaved)?-:param', function(req, res) {
res.json(req.params);
});
它没有给你你想要的东西,因为type
在开始时会有连字符,但我想这不会成为问题。通过调整路径可以摆脱type
中的连字符,但我找不到与Express 4和Express 5路由兼容的方法,所以我决定离开它在。