2016-01-04 16 views
1

我有一個NodeJS 5/ExpressJS 4項目。在路由中間件中指定完整的URL

我的路由配置的組織是這樣的:在/routes/api_admin/users.js

router.get ('/', userCtrl.get); 
router.post ('/', userCtrl.post); 
router.put ('/:userId', userCtrl.put); 
router.delete ('/:userId', userCtrl.delete); 

它的工作原理以及這種方式,但我想有

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); 

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部分?

回答

1

如果要使用路徑「/ users /」替代「/」作爲routesApiAdminUsers,則應該將路由中間件放在相同的路由中ApiAdmin路由中間件