Ember模型中的自定义请求网址

我正在尝试使用已经构建REST API的Ember数据。 它对顶级路线工作正常,例如,我有如下的API路线课程路线:

app.get('/courses', app.controllers.courses.findAll)
app.get('/courses/:id', app.controllers.courses.findById)

上述工作正常,我可以轻松地使用Ember Data获取数据。 但是,具有多个级别的路由会出现问题。 例如,课程可以有多个主题,主题可以有多个讲座,因此它们的路由在api一侧被定义为这样。

主题:

app.get('/courses/:course_id/topics', app.controllers.topics.findAll)
app.get('/courses/:course_id/topics/:id', app.controllers.topics.findById)

讲座内容:

app.get('/courses/:course_id/topics/:topic_id/lectures', app.controllers.lectures.findAll)
app.get('/courses/:course_id/topics/:topic_id/lectures/:id', app.controllers.lectures.findById)

因此,如果我想要在课程中获得所有讲座,我需要指定课程ID和主题ID(不是在查询中,而是在网址正文中,正如您可以从后端API中的url结构中看到的那样)。

在Ember中,我有课程模型,主题和讲座,但我不知道如何指定自定义网址,以便Ember Data在发出请求时可以使用这些网址。

一种方法可能是手动进行ajax请求,但这种方式记录将不会填充到Ember Data Store中。

或者我可以在Ember中定义模型之间的关系,但是这需要在后端api上进行更改,这对我来说不是一种选择。

那么有什么好方法可以解决这个问题吗?

我在用:

Ember:v1.6.0-beta.2

Ember-Data:v1.0.0-beta.7


避免Ember数据,Ember在没有它的情况下工作得很好。

如果您真的想使用它,请进行ajax调用,然后使用store.pushPayload('type', data)将数据装载到商店中,如果您确实需要它在商店中。

链接地址: http://www.djcxy.com/p/90957.html

上一篇: Custom request urls in Ember model

下一篇: Conventions required of RESTful JSON API to be usable with Ember