我在Express 4.13 app中有两条路线:
app.service 'Utilities' () ->
但是当我试图访问router.get('/:id', function (req, res) {
});
router.get('/new', function(req,res){
});
时 - 我得到404,因为没有'新'对象。那么如何更改我可以访问/新路由的设置而不会与/:id route混淆。
感谢。
答案 0 :(得分:16)
这样做。动态api应位于底部
router.get('/new', function(req,res){
});
router.get('/:id', function (req, res) {
});
答案 1 :(得分:10)
您需要添加一个功能来检查参数,并在/new
之前放置/:id
路由器:
var express = require('express'),
app = express(),
r = express.Router();
r.param('id', function( req, res, next, id ) {
req.id_from_param = id;
next();
});
r.get("/new", function( req, res ) {
res.send('some new');
});
// route to trigger the capture
r.get('/:id', function (req, res) {
res.send( "ID: " + req.id_from_param );
})
app.use(r);
app.listen(3000, function () { })