我試圖使用Ember數據與已經構建的REST API。它工作正常的頂級路線,例如,我有一個像下面對API方面的課程路線:Ember模型中的自定義請求網址
app.get('/courses', app.controllers.courses.findAll)
app.get('/courses/:id', app.controllers.courses.findById)
以上工作正常,我可以很容易地與Ember數據獲取數據。但是,具有多個級別的路由會出現問題。例如,課程可以有多個主題,主題可以有多個講座,因此它們的路由在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數據可以使用這些網址時,我提出請求。
一種方法可能是手動進行ajax請求,但這種方式記錄將不會填充到Ember Data Store中。
或者我可以在Ember中定義模型之間的關係,但是這需要在後端api上進行更改,這對我來說也不是一種選擇。
那麼有什麼好方法可以解決這個問題嗎?
我使用:
燼:V1.6.0-beta.2
燼-數據:V1.0.0-beta.7