在路由中间件中指定完整的URL
我有一个NodeJS 5 / ExpressJS 4项目。
我的路由configuration是这样组织的:
var routesApiAdmin = require('./routes/api_admin'); var routesApiAdminUsers = require('./routes/api_admin/users.js'); ... app.use('/api/admin', routesApiAdmin); app.use('/api/admin/users', routesApiAdminUsers);
在/routes/api_admin/users.js中
router.get ('/', userCtrl.get); router.post ('/', userCtrl.post); router.put ('/:userId', userCtrl.put); router.delete ('/:userId', userCtrl.delete);
它运作良好,但我想有:
router.get ('/users/', userCtrl.get); router.post ('/users/', userCtrl.post); router.put ('/users/:userId', userCtrl.put); router.delete ('/users/:userId', userCtrl.delete); //If I do this I need to query /api/admin/users/users/
因为我觉得它更可读。
我如何设置我的路由中间件,以便它不会删除URL的匹配部分?
如果你想使用path“/ users /”而不是“/”作为routesApiAdminUsers,你应该把路由中间件放在相同的路由中.ApiAdmin路由中间件