angularjs - HTML 和 JSON 响应的 URL 相同

标签 angularjs node.js

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

例如,如果我正在构建一个博客并且我有一个提供最新项目的 URL,我将有一个类似/latest 的 URL 我想对 Angular 端点使用相同的 URL 来检索项目,因此我的 Node 实现中有以下路由:

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 响应提供一组单独的端点是否更好?

最佳答案

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

因此,在 Angular 中,您仍然可以拥有 URL 路由 /latest,但您将通过 /api/latest 这样的 URL 提供 JSON 数据。

这会减少困惑,并且还允许您轻松地将 API 与其他内容集成,因为它只会返回 JSON。

关于angularjs - HTML 和 JSON 响应的 URL 相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27050711/

相关文章:

javascript - 添加第二个 Angular 模块

javascript - Angular UI 路由器 - "could not resolve state"带参数

javascript - 如何使用自定义按钮在 Summernote 中添加 HTML 标签?

node.js - 如何创建 session express.js

javascript 正则表达式与 g 标志匹配但不与 y 标志匹配

angularjs - AngularJS中的未知提供者$ sce

angularjs - 在 Angularjs 中显示带有图标和自定义消息的错误

node.js - 将 Nightmare 包裹在 promise 中/一次处理一个网址

javascript - Node.js UDP(dgram)处理来自 DNS 解析的错误

javascript - 你如何捕捉流转换错误?