Le API REST comunicano tramite richieste HTTP per eseguire funzioni di database standard come la creazione, la lettura, l'aggiornamento e l'eliminazione di record (insieme di operazioni noto anche come CRUD) all'interno di una risorsa.
Ad esempio, un'API REST utilizzerà una richiesta GET per recuperare un record. Una richiesta POST crea un nuovo record. Una richiesta PUT aggiorna un record e una richiesta DELETE ne elimina uno. Tutti i metodi HTTP possono essere utilizzati nelle chiamate API. Un'API REST ben progettata è simile a un sito web in esecuzione in un browser web con funzionalità HTTP integrata.
Lo stato di una risorsa in un determinato istante, o timestamp, è noto come rappresentazione della risorsa. Queste informazioni possono essere inviate a un client praticamente in qualsiasi formato, tra cui JavaScript Object Notation (JSON), HTML, XLT, Python, PHP o testo semplice. JSON è popolare perché è leggibile sia dagli esseri umani che dalle macchine ed è indipendente dal linguaggio di programmazione.
Anche le intestazioni e i parametri delle richieste sono importanti nelle chiamate API REST perché includono importanti informazioni di identificazione come metadati, autorizzazioni, URI, memorizzazione nella cache, cookie e altro ancora. Le intestazioni di richiesta e le intestazioni di risposta, insieme ai codici di stato HTTP convenzionali, vengono utilizzate all'interno di API REST ben progettate.
GraphQL e API REST: Qual è la differenza?