Cosa si intende per REST

In questo articolo facciamo un po’ di teoria: si sente spesso parlare di API, cioè la possibilità di comunicare con un determinato software attraverso delle istruzioni impartite dall’esterno.
Normalmente si utilizzano due protocolli simili: il SOAP e l’XML-RPC, anche se il secondo è senza dubbio il più conosciuto e utilizzato.
In questo articolo ci soffermiamo su un acronimo che spesso si accompagna alla parola API: REST.

Cosa sono le REST API, quindi?
REST è l’acronimo di REpresentational State Transfer ed indica il fatto che rappresentiamo l’azione da eseguire su un determinato oggetto in base al metodo di richiesta di trasferimento.
Detta così è difficile, però andando in profondità risulterà chiaro.
Pensiamo ad un form HTML “vecchia maniera” su un server web: i modi con cui è possibile colloquiare con un web server (pensiamo ai vecchi form, per semplicità) sono quattro: GET, POST, PUT e DELETE.
Fatalità, anche le operazioni base che possiamo fare su un record all’interno di un comune database relazionale sono quattro: Create, Read (Select), Update e Delete… e anche per questo esiste un acronimo: CRUD.
Il REST non fa altro che associare i quattro metodi dei form HTML con le quatto operazioni base degli oggetti: GET con Read (Select), POST con Create, PUT con Update e, ovviamente, Delete con Delete.
Quindi, ammettendo di avere una REST API che agisce su un determinato oggetto, invierò all’API una richiesta di tipo GET per leggere i dati e vedere quindi il contenuto dell’oggetto; oppure invierò all’API una richesta di tipo POST per aggiornarlo e così via.