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?

È stato utile?

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

.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top