RESTful Question / Réponse design?
-
23-09-2019 - |
Question
Ceci est un projet de jouet je travaille actuellement.
Mon application contient des questions avec réponses à choix multiples.
L'URL de question est dans le format suivant, avec cartographie GET
et POST
à différentes actions sur le contrôleur de questions.
GET: url.com/questions/:category/:difficulty => 'ask'
POST: url.com/questions/:category/:difficulty => 'answer'
Je me demande si cela vaut la peine redessiner cela dans un style RESTful. Je sais que je dois présenter des réponses comme une ressource, mais je suis mal à penser à une URL qui ressemblerait naturel pour répondre à cette question.
Est-ce qu'une nouvelle conception vaut la peine? Comment feriez-vous de structurer les urls?
La solution
Je pense que ce serait mieux si vous associez:
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)
Si vous faites:
POST: url.com/questions/:category/:difficulty => 'answer'
Ensuite, vous pourriez avoir une seule question à la catégorie spécifiée et la difficulté.
Autres conseils
Vous ne devez pas nécessairement pour traiter les réponses comme une ressource distincte: vous pouvez traiter une réponse en tant qu'élément d'une question. En fait, je pense que ce serait mieux - une réponse est rien vaut vraiment la peine à moins qu'il est lié à une question
.