我有一个由 Backbone.js 提供支持的单页 Web 应用程序使用的小型 REST API
API 提供了两种资源类型,因此 Backbone 应用程序使用。这些是文章和评论。这两个资源具有不同的端点,并且每篇文章都有一个链接到该项目的所有评论的位置。
我面临的问题是,在我的网络应用程序的文章列表中,我希望能够显示每篇文章的评论数。鉴于只有在我还获得评论列表的情况下才有可能,在当前设置中,将要求我发出一个 API 请求以获取初始文章列表,并为每篇文章发出另一个请求,以便能够计算数量的评论。例如,如果有 100 篇文章,这将成为一个问题,因此需要 101 个 HTTP 请求来填充一个视图。
我现在能想到的解决方案是:
1. 像这样在初始文章请求中包含评论数据
{
{
"id": 1,
"name": "Article 1",
...
"comments": {
{
"id": 1,
"text": "some comment"
},
{
"id": 2,
"text": "some comment"
},
...
}
},
}
这种情况下的问题是:如何将“评论”解析为单独的评论集合而不将其包含在文章模型中?
2.在文章响应中包含一些元数据,如下所示:
{
{
"id": 1,
"name": "Article 1",
...
"comments": 13
},
}
引发问题的选项:我应该如何处理模型的解析,以便一方面元信息可用,另一方面,“评论”属性不是 Backbone 会尝试执行更新的属性?
我觉得可能有另一种解决方案,符合 REST 哲学,我缺少这个,所以如果您有任何其他建议,请告诉我。