La mia unica reale esposizione alle idee di REST è avvenuta tramite Ruby on Rails RESTful routing. Questo mi ha soddisfatto per il tipo di applicazioni basate su CRUD che ho creato con Rails, ma di conseguenza la mia comprensione di RESTfulness è piuttosto limitata.Informazioni su REST tramite un esempio
Diciamo che abbiamo una collezione finita di elementi, ognuno dei quali ha un ID univoco, e una serie di proprietà, come il colore, la forma e le dimensioni (che potrebbe essere definito per alcuni elementi).
Gli articoli possono essere utilizzati da un cliente per un periodo di tempo, ma ciascun articolo può essere utilizzato da un solo cliente alla volta. L'accesso agli articoli è regolato da un server. I client possono richiedere l'utilizzo temporaneo di determinati articoli da un server.
Di solito, i clienti saranno interessati a ottenere l'accesso a un numero di elementi con proprietà particolari, piuttosto che ottenere l'accesso a elementi specifici.
Quando un client richiede l'utilizzo di un numero di elementi, il server risponde con un elenco di ID corrispondente alla richiesta o con una risposta che indica che gli articoli richiesti non sono attualmente disponibili o non esistono.
Un client può effettuare i seguenti tipi di richiesta:
- dirmi quanti triangolo I prodotti verdi ci sono (in totale/disponibile).
- Concedimi l'utilizzo di 200 elementi rossi di grandi dimensioni.
- Ho finito con gli articoli 21, 23, 23.
- Aggiungere 100 nuovi quadrati rossi Elementi.
- Elimina 50 piccoli articoli verdi.
- Modifica tutti i grandi oggetti del pentagono giallo per essere blu.
Il giocattolo esempio di cui sopra è come un problema di allocazione delle risorse che ho avuto a che fare con la recente. Come dovrei andare a pensarci RESTfully?
+1 bella idea, blocchi come risorse: pensare in termini di nounds, non verbi (lock contro un evento di blocco). – ScottCher