有人知道 express.js中的 一种方法可以在单个函数中捕获html和json的请求吗?
本质上,我希望两者都具有一条路由,/users并且/users.json-就像rails的路由->控制器一样。
/users
/users.json
这样,我可以将逻辑封装在单个函数中,并决定呈现html还是json。
就像是:
app.get('/users[.json]', function(req, res, next, json){ if (json) res.send(JSON.stringfy(...)); else res.render(...); //jade template });
我可以使用参数吗?
路由是一个简单的字符串,如手册所述,该字符串在内部编译为RegExp,因此您可以执行以下操作:
app.get("/users/:format?", function(req, res, next){ if (req.params.format) { res.json(...); } else { res.render(...); //jade template } });
在此处查看更多信息:http : //expressjs.com/guide.html#routing