Rest Ember:如何对多个API端点使用相同的模板/路由/控制器?

Rest Ember:如何对多个API端点使用相同的模板/路由/控制器?,rest,ember.js,routing,Rest,Ember.js,Routing,我只是简单地解释一下我想做什么,看看你有什么建议。我有一个api/articles的REST端点,它返回所有文章(使用Ember数据)。文章有作者,假设我写了几篇文章,想在模板中打开一个开关,查看所有文章或仅查看我的文章 既然模板应该有完全相同的布局,我的API和路由器应该如何设置来处理这种事情呢。显然,为了便于维护,我希望避免本质上重复的“articles”和“myarticles”路由和端点。我只是不知道如何有效地切换端点,或者是否应该以某种方式进行嵌套以消除整个问题。您可以使用查询参数来实

我只是简单地解释一下我想做什么,看看你有什么建议。我有一个api/articles的REST端点,它返回所有文章(使用Ember数据)。文章有作者,假设我写了几篇文章,想在模板中打开一个开关,查看所有文章或仅查看我的文章


既然模板应该有完全相同的布局,我的API和路由器应该如何设置来处理这种事情呢。显然,为了便于维护,我希望避免本质上重复的“articles”和“myarticles”路由和端点。我只是不知道如何有效地切换端点,或者是否应该以某种方式进行嵌套以消除整个问题。

您可以使用查询参数来实现这一点

1. 假设您的端点是

/api/articles?author=all returns all articles 

在Route#模型中,必须根据查询参数调用端点

示例jsbin:

2. 如果您的端点没有查询功能,即(端点应该是/api/articles)。然后按照Ember Doc中的建议进行操作,即从端点获取Route#model中的所有文章,然后您可以根据Controller中的作者姓名筛选文章

示例jsbin:


附言:我没有在这里使用余烬模型。

您使用的是余烬数据吗?是的,对不起,应该这么说。谢谢,我会将此标记为答案。我发现它对我不起作用,因为我使用的是ember cli simple auth,当它从登录页面路由到受保护的路由时,我不知道如何拦截。
/api/articles?author=Mike returns articles of Mike.