HTML和JSON响应的URL相同

时间:2014-11-20 22:19:58

标签: angularjs node.js

我想知道使用相同的URL提供HTML和JSON响应是否是一个好习惯。

例如,如果我正在构建博客并且我有一个提供最新项目的URL,我会有一个像/ latest这样的URL 我想在角度中使用相同的URL作为我的端点来检索项目,所以我在节点实现中有以下路由:

app.get("/latest",function(req,res){
    var type = req.header("Accept");
    if(type.indexOf("application/json") > -1){
        getLatestItems(req,res);
    }
    else {
        res.render("/latest", {user: req.session.username, current: "latest"});
    }

});

我想知道这种方法是否正常,或者为我的JSON响应设置一组单独的端点更好?

1 个答案:

答案 0 :(得分:1)

我会为您的支持API创建一个单独的URL模式。

因此,在Angular中,您仍然可以使用网址/latest,但您将通过/api/latest等网址提供JSON数据。

这样可以减少混淆,并且允许您轻松地将API与其他内容集成,因为它只返回JSON。