是否可以在Express.js中设置端点,以便用户可以通过将.json附加到URL来表示他们只喜欢JSON输出?
例如,如果我有端点example.com/data/:data_id
,是否有一个函数someFunction
,如果我使用以下代码命中端点example.json/data/:data_id
,我将能够获得JSON输出出?
router.get('/data/:data_id', function(req, res, next) {
var extension = req.someFunction();
if (extension === 'json') {
res.json({...});
} else {
res.render('view', {...});
};
});
我知道可能有一种方法可以使用内容标题,但我已经看到它recommended内容类型由扩展名指定,以便浏览器可以浏览API。
答案 0 :(得分:1)
我认为您只需在查询网址
中添加格式参数即可
router.get('/data/:data_id', function(req, res, next) {
if (req.query.format && req.query.format === 'json') {
res.json({...});
} else {
res.render('view', {...});
};
});
像这样的东西!