Domanda RESTful / design Risposta?
-
23-09-2019 - |
Domanda
Questo è un progetto giocattolo su cui sto lavorando in questo momento.
La mia app contiene domande con risposte a scelta multipla.
L'URL domanda è il seguente formato, con GET
e POST
mappatura a diverse azioni sul controller domande.
GET: url.com/questions/:category/:difficulty => 'ask'
POST: url.com/questions/:category/:difficulty => 'answer'
Mi chiedo se vale la pena ridisegnare questo in uno stile RESTful. So che avrei bisogno di introdurre risposte come una risorsa, ma sto lottando per pensare a un URL che apparirebbe naturale per rispondere a questa domanda.
Sarebbe una riprogettazione essere utile? Come si va su come strutturare gli URL?
Soluzione
Credo che sarebbe meglio se si esegue il mapping:
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)
Se volete fare:
POST: url.com/questions/:category/:difficulty => 'answer'
Poi si potrebbe avere solo una domanda con la categoria e difficoltà specificato.
Altri suggerimenti
Non è necessariamente bisogno di trattare le risposte come risorsa separata: si potrebbe trattare di una risposta come elemento di una domanda. In realtà, credo che questo sarebbe meglio - una risposta non è davvero vale niente meno che non sia legato ad una domanda
.