我有一个名为活动的Ember数据模型。
根据我当前的路线,我需要调用服务来使用来自不同API命名空间的活动填充商店。因此,虽然我当前的 ActivityAdapter 看起来像这样:
App.ActivityAdapter = DS.RESTAdapter.extend({
namespace: 'services/activities'
});
我真的希望它看起来像这样:
App.ActivityAdapter = DS.RESTAdapter.extend({
if (this.get('currentRoute') === "user") {
namespace: 'services/users/activities'
} else {
namespace: 'services/activities'
}
});
我似乎无法为此找到解决方案,而我现在能想到的最好的方法就是创建一个单独的 UserActivity 模型,该模型基本上具有与活动模型,然后指定单独的 UserActivityAdapter 。
还有其他人遇到过这个问题吗?任何意见都表示赞赏!
答案 0 :(得分:0)
您是否在服务器上控制您的API?如果是这样,您只需更改/services/activities
端点即可接受可选的userId
查询参数。
因此,您将始终以相同的命名空间为目标:
GET /services/activities
=>返回所有活动GET /services/activities?userId=123
=>返回用户123
这是REST API中的常见模式。但也许我误解了你的问题?