【发布时间】:2013-09-30 09:41:52
【问题描述】:
我有一个包含用户活动的后端资源,我想在应用程序中根据一天的活动价值呈现活动。我在路由器中定义了一个名为 ActivitiesController 的ArrayController,如下所示:
this.resource('activities', { path: '/activities/:by_date' }, function() {
this.route('new');
});
REST API 提供以下 GET 方法:
GET /activities/[by_date]
到目前为止,这看起来相当对称且可以实现,但我遇到了两个问题:
-
参数化数组查找。通常,参数化路由将由
ObjectController提供服务,但在这种情况下,by_date参数只是减少/过滤活动数组,但它仍然是返回的数组。我不确定如何在ActivitiesRoute的模型钩子中构建它,以便它有效地执行“findAll”而不是期望单个结果集。 -
由于功能。由于带回这些活动数组需要合理的网络成本,我希望尽可能地减少这一点,并且 REST API 通过允许
since参数与最后一次请求的日期一起传递来支持这一点。这样,如果自上次调用以来没有更新任何记录,并且如果有新记录,则服务器只需返回304代码,如果有新记录,则只返回 new 记录。有没有办法用 ember-data 来“开箱即用”?这是否需要构建自定义适配器?如果有,是否有任何可用的开源解决方案?
附言我在想#2 的部分答案可能是合并 Alex Speller 的 查询参数:http://discuss.emberjs.com/t/query-string-support-in-ember-router/1962/48
【问题讨论】:
-
更详细地查看 查询参数 我不太相信它会解决我的“since”问题,因为它似乎与我实际执行的 URL 有很强的联系不在我的情况下想要。
标签: ember.js ember-data