我的第一个Node.js Express应用程序.在路由中,我有一个名为/ info的路由,该路由呈现了一个信息页面模板.
app.js:
app.use('/info', info);
info.js:
// routes to /info, and should also handle /info.json
router.get('/', function(req, res) { //... });
我还希望能够使用上面的相同功能,使用最佳参数.json来呈现json内容-/info.json.
我一直在尝试使用正则表达式,但无法正常工作.我只能设法做到:/info/.json
是否可以使用相同的功能来执行此操作?
解决方法:
我会使用express的content-negotiation功能.首先,声明您的路线,例如:
app.get('/info(.json)?', info);
然后在信息中(取自上面的链接):
res.format({
'text/html': function(){
res.send('hey');
},
'application/json': function(){
res.send({ message: 'hey' });
}
});
编辑:使用正则表达式的单个路由