Alija Adni 5E 27/01/2023
API REST
INTRODUZIONE
Le API REST sono un insieme di principi architetturali utilizzati per la creazione di servizi
web accessibili tramite Internet. Queste API utilizzano il protocollo HTTP, il quale è un
protocollo standard per la comunicazione tra il client e il server. Il client invia richieste al
server utilizzando metodi HTTP, come GET, POST, PUT, DELETE e PATCH, e il server invia
risposte.
EVOLUZIONE
Le API REST sono state sviluppate da Roy Fielding nel 2000 come parte della sua tesi di
dottorato sull'architettura dell'Internet. Da allora, le API REST sono diventate uno standard
per la creazione di servizi web e sono state utilizzate in molti contesti, dalle applicazioni
mobili alle piattaforme web.
CONTESTI DI UTILIZZO
Le API REST sono spesso utilizzate per creare servizi web accessibili da più sistemi, ad
esempio per creare un'API per un'app mobile o per un'applicazione web. Ad esempio,
un'azienda potrebbe creare un'API REST per i propri prodotti che possa essere utilizzata da
diversi sistemi, come un'app mobile o un sito web, per accedere ai dettagli dei prodotti.
Inoltre, le API REST possono essere utilizzate per creare servizi web accessibili da più
sviluppatori, ad esempio per creare un'API per un servizio che possa essere utilizzato da
più sviluppatori per creare applicazioni diverse. Ad esempio, un'azienda potrebbe creare
un'API REST per i propri servizi che possa essere utilizzata da più sviluppatori per creare
diverse app che accedono ai servizi dell'azienda.
CARATTERISTICHE PRINCIPALI
Le API REST sono caratterizzate da alcuni principi fondamentali che le rendono flessibili e
scalabili:
• Il primo principio è il Client-Server, in cui il client invia richieste al server e il server
invia risposte. Questo garantisce che il client e il server siano separati e che le
modifiche apportate al client non influiscano sul server e viceversa.
Alija Adni 5E 27/01/2023
• Il secondo principio è Stateless, in cui ogni richiesta contiene tutte le informazioni
necessarie per essere completata, il che significa che il server non mantiene alcuno
stato tra una richiesta e l'altra. Questo rende le API REST facili da implementare e da
mantenere, poiché non è necessario gestire uno stato persistente.
• Il terzo principio è Cacheable, in cui le risposte possono essere cacheate per
migliorare la velocità di risposta. Questo significa che le risposte possono essere
salvate localmente sul client, in modo da non doverle ricaricare ogni volta che
vengono richieste.
• Il quarto principio è Layered System, in cui il client non deve conoscere la posizione
fisica del server, ma solo l'indirizzo del servizio. Questo significa che il client può
accedere al servizio tramite una qualsiasi posizione su Internet, indipendentemente
dalla posizione del server.
• Il quinto principio è Code on demand (optional), in cui il server può fornire al client
codice che deve essere eseguito sul client, ad esempio JavaScript. Questo principio è
opzionale e non è sempre utilizzato, poiché alcuni servizi possono non richiedere
alcun codice sul client.
METODI HTTP UTILIZZATI
I metodi HTTP più comuni utilizzati nelle API REST sono GET, POST, PUT, DELETE e PATCH.
• Il metodo GET viene utilizzato per ottenere informazioni da una risorsa, ad esempio
per ottenere i dettagli di un utente o di un prodotto.
• Il metodo POST viene utilizzato per creare una nuova risorsa, ad esempio per creare
un nuovo utente o un nuovo prodotto.
• Il metodo PUT viene utilizzato per aggiornare una risorsa esistente, ad esempio per
aggiornare i dettagli di un utente o di un prodotto.
• Il metodo DELETE viene utilizzato per eliminare una risorsa, ad esempio per
eliminare un utente o un prodotto.
• Il metodo PATCH viene utilizzato per aggiornare parzialmente una risorsa, ad
esempio per modificare solo alcuni dettagli di un utente o di un prodotto.
REGOLE E TECNICHE DI IMPLEMENTAZIONE
Per implementare un'API REST, è necessario seguire alcune regole fondamentali, come il
Client-Server, Stateless, Cacheable, Layered System e Code on demand. Queste regole
garantiscono che l'API sia semplice, scalabile e facile da utilizzare.
Alija Adni 5E 27/01/2023
Inoltre, è importante utilizzare una struttura ben definita per le richieste e le risposte, ad
esempio utilizzando il formato JSON. È inoltre possibile utilizzare tecniche come
l'autenticazione e l'autorizzazione per garantire che solo gli utenti autorizzati possano
accedere ai servizi offerti dall'API.
CONCLUSIONE
In conclusione, le API REST sono uno strumento potente e flessibile per la creazione di
servizi web accessibili tramite Internet. Utilizzando i principi fondamentali delle API REST, è
possibile creare servizi scalabili e facili da utilizzare che possono essere utilizzati in molti
contesti, dalle applicazioni mobili alle piattaforme web. Con l'utilizzo di tecniche come
l'autenticazione e l'autorizzazione, è possibile garantire che solo gli utenti autorizzati
possano accedere ai servizi offerti dall'API.