使用JSONAPI适配器。
我有两篇文章。在Ember模板中:
{{#each articles as |article|}}
{{article.comments}}
{{/each}}
启用coalesce。如果每篇文章都有100
条评论。 Ember数据将执行:
comments?filter[id]=1,2,3,4,5,6…200
端点处理comments?filter[id]
预计会收到X个ID。 API端点暴露给任何尝试执行此操作的人:
comments?filter[id]=1,2,3,4,5,6…9999999
这对数据库非常重要。你是如何处理这种情况的?
答案 0 :(得分:0)
如果您只是想获取给定文章的所有评论,JSON API允许服务器为每个文章资源提供"related"
链接。
也就是说,如果您请求(例如)GET /articles/1
,服务器可以返回:
{
"data": {
"type": "articles",
"id": "1",
"attributes": { /* data for your article */ },
"relationships": {
"comments": {
"links": {
// the uri below should all the article's comments
// as primary data
"related": "http://SOME_URI_HERE..."
}
}
/* other relationships would follow ... */
}
}
}
然后,Ember Data可以(我认为)被告知只需按照相关链接加载所有评论。但是,如果您的服务器不支持"related"
链接,或者您确实需要通过id(使用filter[id]
)找到评论的随机子集,那么它只取决于服务器确保没有提供太多的ID。 (因此,如果提供的不是X ids,则允许服务器使用JSON API错误格式响应错误。)