Logo NEXUS

NEXUS didattica

← Torna indietro
Informatica / Lezione Teorica

Architettura REST e API Web

Principi di progettazione RESTful, verbi HTTP, payload in formato JSON e simulatore di richieste API interattivo.

1. Cos'è un'API e l'Approccio REST

Un'API (Application Programming Interface) è un insieme di definizioni e protocolli attraverso cui i software comunicano tra loro. Quando parliamo di REST (Representational State Transfer), ci riferiamo a uno stile architetturale per la progettazione di servizi web basato sul protocollo HTTP, ideato da Roy Fielding nel 2000.

I 6 Vincoli Fondamentali di REST:

1. Client-Server: Separazione delle responsabilità tra interfaccia utente e logica di memorizzazione dati.
2. Stateless (Senza stato): Ogni richiesta dal client deve contenere tutte le informazioni necessarie per essere compresa ed elaborata dal server.
3. Cacheable: Le risposte devono definirsi cacheabili o meno per ottimizzare le prestazioni di rete.
4. Interfaccia Uniforme: Semplifica e disaccoppia l'architettura tramite risorse identificate da URI e manipolate tramite rappresentazioni.
5. Sistema a Livelli (Layered System): Il client non sa se è connesso direttamente al server finale o a un proxy intermedio.
6. Code on Demand (Opzionale): Capacità di estendere le funzionalità del client inviando eseguibili (es. script JavaScript).

2. Metodi HTTP e Operazioni CRUD

Nelle API REST, le risorse vengono identificate da URI univoci (es. /api/v1/utenti) e manipolate sfruttando i verbi nativi del protocollo HTTP mappati sulle operazioni CRUD (Create, Read, Update, Delete):

Metodo HTTP Operazione CRUD Significato e Utilizzo Idempotente?
GET Read (Lettura) Recupera la rappresentazione di una risorsa o di una collezione di risorse.
POST Create (Creazione) Crea una nuova risorsa all'interno di una collezione specificata. No
PUT Update (Aggiornamento totale) Sostituisce completamente una risorsa esistente o la crea se non esiste.
DELETE Delete (Eliminazione) Rimuove la risorsa specificata dall'URI.

3. Codici di Stato HTTP

Le risposte di un'API REST restituiscono sempre uno standard di stato numerico suddiviso in categorie:

4. Simulatore Interattivo: Client API REST

Seleziona un endpoint e un metodo HTTP per simulare l'invio di una richiesta verso il server di NEXUS didattica e visualizzare il payload JSON di risposta.

rest-client@nexus-sys:~# Interactive API Tester
> Seleziona una rotta API e invia la richiesta per ispezionare intestazioni e payload JSON.