【发布时间】:2013-09-01 22:56:09
【问题描述】:
我正在为一个测验应用程序开发一个 RESTful API,它将使用 Backbone.js 和 Marionette 构建。我对骨干很陌生,想知道最好的 URL 结构是什么。我有以下资源:
- 回答,
- 包含答案的问题,
- 包含问题的问题组,
- 包含问题组的测验。
想到两种可能的 URL 结构:
GET /quizzes/:idGET /quizzes/:id/questiongroupsGET /quizzes/:id/questiongroups/:idGET /quizzes/:id/questiongroups/:id/questionsGET /quizzes/:id/questiongroups/:id/questions/:idGET /quizzes/:id/questiongroups/:id/questions/:id/answers
或:
GET /quizzes/:idGET /quizzes/:id/questiongroupsGET /questiongroups/:idGET /questiongroups/:id/questions- ...
现在,我一直在尝试使用这两个选项。对于第一个,我不知道如何将集合定义为 Backbone 中父模型的属性,以便我可以在它们上使用 fetch()。第二个选项的问题有点不同:据我了解,Backbone 从其集合中派生模型的 url,但该集合是另一个资源的子资源,而获取单个资源的 url 使用另一个集合,即全局资源集。
我很确定在这两种情况下我都必须覆盖 url()。我尝试了一些东西,但根本没有想出任何有用的东西。另外,我不想覆盖应用程序中的每一个 url()-model,更改 API 结构以适应 Backbone 的偏好对我来说似乎是一个更好的选择。
任何关于如何使用 Backbone 的正确方法的指针都会很棒!
谢谢
【问题讨论】:
标签: javascript api rest url backbone.js