Спокойный дизайн Вопросов / Ответов?
-
23-09-2019 - |
Вопрос
Это игрушечный проект, над которым я сейчас работаю.
Мое приложение содержит вопросы с несколькими вариантами ответов.
URL-адрес вопроса представлен в следующем формате, с GET
& POST
сопоставление с различными действиями в контроллере вопросов.
GET: url.com/questions/:category/:difficulty => 'ask'
POST: url.com/questions/:category/:difficulty => 'answer'
Мне интересно, стоит ли переделать это в спокойный стиль.Я знаю, что мне нужно было бы представить ответы в качестве ресурса, но я изо всех сил пытаюсь придумать URL-адрес, который выглядел бы естественным для ответа на этот вопрос.
Будет ли полезен редизайн?Как бы вы поступили по поводу структурирования URL-адресов?
Решение
Я думаю, было бы лучше, если бы вы нанесли на карту:
POST url.com/:category/:difficulty/questions => ask question
GET url.com/questions => list all questions
GET url.com/:category/:difficulty/questions => list questions for category and difficulty
GET url.com/questions/:id => show question
POST url.com/questions/:id => add answer
PUT url.com/questions/:id => edit question
PUT url.com/questions/:question_id/:id => edit answer with id :id
GET url.com/questions/:question_id/:id => show question with highlighted answer (like it is here on SO)
Если бы вы сделали:
POST: url.com/questions/:category/:difficulty => 'answer'
Тогда у вас мог бы быть только один вопрос с указанной категорией и сложностью.
Другие советы
Вам не обязательно рассматривать ответы как отдельный ресурс:вы могли бы рассматривать ответ как элемент вопроса.На самом деле, я думаю, что так было бы лучше - ответ на самом деле ничего не стоит, если он не привязан к вопросу.