Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
服务器应该为SPA中页面上的所有内容数据响应一个json,还是最好将其拆分?_Json_Api_Single Page Application - Fatal编程技术网

服务器应该为SPA中页面上的所有内容数据响应一个json,还是最好将其拆分?

服务器应该为SPA中页面上的所有内容数据响应一个json,还是最好将其拆分?,json,api,single-page-application,Json,Api,Single Page Application,我正在为SinglePageApplication构建API,它在前端通过Angular进行处理。有一件事我不清楚。 假设web应用程序有delati journal paige wich display journal、一些属于该杂志的文章以及一些无法连接到该杂志的酷作者。 我是否应该基于每个需要的页面内容构建api URL,例如: 从url/api/journal/ 发送json: { "journal": { "id": 10, "name": "new_jou

我正在为SinglePageApplication构建API,它在前端通过Angular进行处理。有一件事我不清楚。
假设web应用程序有delati journal paige wich display journal、一些属于该杂志的文章以及一些无法连接到该杂志的酷作者。
我是否应该基于每个需要的页面内容构建api URL,例如: 从url
/api/journal/

发送json:

{
"journal": {
       "id": 10,
       "name": "new_journal",
       "articles": [
                      {
                      "name": "cool_article",
                      "id": 42
                       },
                       {
                      "name": "another_cool_article",
                      "id": 43
                       }
                   ]
 },
 "authors": [
        {
           "name": "some_name",
           "id": 42
         },
         {
           "name": "another_name",
           "id": 43
          }
            ]
}
或者我应该基于具体对象和相关对象构建api。
使用如下URL:
/api/journals/

/api/authors/

前端通过两个获取内容的请求来构建此页面。
很抱歉,如果我的问题太广泛,我只想找到最好的括号来为SinglePageApplication构建API。
为外部web应用程序构建API enpoints和我在页面需要显示更多不属于一起的对象时应该做什么有什么区别吗?上面哪个选项更好?

对于这一点,并没有一个通用的正确答案。这在很大程度上取决于所获取数据的用例。我想说的是,如果把它分成多个请求,那就错了,因为它在部分更新页面方面为您提供了灵活性和效率。这种方法还使得向公众公开API变得更加容易,因为它能够公开您已经拥有的API

但是,如果您正在处理潜在的大量并发请求(一个有意相对的术语),那么您可以构建一些相关数据的组合来缓解这种情况


当然,您也可以结合使用这两种方法(第一次加载会产生一个大请求,后续的更新会被分割)

非常感谢你的详细回答,我现在真的在迷雾中行走。我发现了很多关于API构建的资料,但是没有人知道构建SPA应用程序的具体内容。也许你可以给我指一些资源?那是因为尽管它们已经存在了很长一段时间,但实际上并没有与建造水疗中心相关的标准。这里有一些一般的想法和指导方针,而不是很多其他的。你选择的框架也很重要。如果你觉得迷路了,那么也许可以从一个更成熟的框架开始(例如AngularJS 1.x、MeteorJS等)。只需遵循一些教程,不要放弃!非常感谢!事实上,我特别关注服务器API,使用Django RESTFramework,所以我只想使用最佳实践为我的同事构建智能API,这将在Angular中实现。我希望我能用正确的方法:)