Express Js 4.0 new Router - 如何处理参数
ExpressJs 4.0 new Router - How to handle paramters
除非我弄错了,否则这是使用新的 ExpressJs 4.0 路由器的正确方法:
'use strict';
var express = require('express'),
fooCtrl = require ('./controllers/fooCtrl'),
router = express.Router();
module.exports = function(app){
router.route('/foo')
.get(fooCtrl.getAll),
.post(fooCtrl.post);
.....
app.use('/foo', router);
}
但是你如何处理 .put, .get(by id) 和 .delete 在需要 id 的地方?
如果我没有使用上面的router.route,那就是:
.get('/foo/:id, fooCtrl.getById),
.put('/foo/:id, fooCtrl.update),
.delete('/foo/:id, fooCtrl.delete);
那么当我使用 router.route 时,我会处理 .get(by id)、.put 和 .delete 吗?
上找到答案
router.route('/users/:user_id')
.all(...),
.get(...),
.put(...),
.post(...),
.delete(...)
显然你在所有的路由参数中放置了'/:id'。
除非我弄错了,否则这是使用新的 ExpressJs 4.0 路由器的正确方法:
'use strict';
var express = require('express'),
fooCtrl = require ('./controllers/fooCtrl'),
router = express.Router();
module.exports = function(app){
router.route('/foo')
.get(fooCtrl.getAll),
.post(fooCtrl.post);
.....
app.use('/foo', router);
}
但是你如何处理 .put, .get(by id) 和 .delete 在需要 id 的地方?
如果我没有使用上面的router.route,那就是:
.get('/foo/:id, fooCtrl.getById),
.put('/foo/:id, fooCtrl.update),
.delete('/foo/:id, fooCtrl.delete);
那么当我使用 router.route 时,我会处理 .get(by id)、.put 和 .delete 吗?
router.route('/users/:user_id') .all(...), .get(...), .put(...), .post(...), .delete(...)
显然你在所有的路由参数中放置了'/:id'。