Я разрабатываю RESTful API для приложения Quiz, который будет построен с Backbone.js и Marionette. Я совершенно новичок в магистрали, и мне было интересно, какая будет лучшая структура URL. У меня есть следующие ресурсы:Оптимальная структура URL для реализации Backbone.js и Backbone
- ответ,
- Вопрос, который содержит ответы,
- Вопрос группы, которая содержит вопросы,
- Викторины, который содержит Вопросительные группы.
Два возможных структур URL приходят на ум:
GET /quizzes/:id
GET /quizzes/:id/questiongroups
GET /quizzes/:id/questiongroups/:id
GET /quizzes/:id/questiongroups/:id/questions
GET /quizzes/:id/questiongroups/:id/questions/:id
GET /quizzes/:id/questiongroups/:id/questions/:id/answers
или:
GET /quizzes/:id
GET /quizzes/:id/questiongroups
GET /questiongroups/:id
GET /questiongroups/:id/questions
- ...
Теперь я пытаюсь использовать оба этих параметра. С первым я не могу понять, как определить коллекции как свойство родительских моделей в Backbone, чтобы я мог использовать fetch()
на них. Проблема со вторым вариантом немного отличается: как я понимаю, Backbone выводит url для модели из своей коллекции, но коллекция является дочерним элементом другого ресурса, тогда как URL-адрес для получения одного ресурса использует другую коллекцию, а именно глобальный набор ресурсов.
Я уверен, что мне придется переопределить url()
в обоих случаях. Я пробовал кое-что, но не придумал ничего полезного. Кроме того, я бы предпочел не переопределить каждый модем url()
в приложении, изменив структуру API в соответствии с предпочтениями Backbone, кажется лучшим вариантом для меня.
Все указатели, как к тому, что, кажется, правильный способ сделать это с Backbone было бы здорово!
Благодаря