Web
API REST: Principi Fondamentali
Le API REST sono uno standard architetturale per la progettazione di servizi web moderni. Consentono a diverse applicazioni di comunicare tra loro tramite richieste HTTP standard.
Cosa sono le API REST?
Le API REST (Representational State Transfer) sono uno standard architetturale per la progettazione di servizi web moderni. Consentono a diverse applicazioni di comunicare tra loro tramite richieste HTTP standard (GET, POST, PUT, DELETE).
Principi Fondamentali delle API REST
- Stateless: ogni richiesta contiene tutte le informazioni necessarie, il server non mantiene lo stato tra le richieste.
- Risorse: ogni entità (utente, prodotto, articolo) è rappresentata da una risorsa identificata da un URL univoco.
- Verbi HTTP: si utilizzano i metodi GET (lettura), POST (creazione), PUT/PATCH (modifica), DELETE (eliminazione).
- Formato dati: di solito JSON, ma anche XML o altri formati.
TIP: Le API REST sono pensate per essere semplici e facilmente scalabili.
Struttura di una Richiesta REST
GET /api/articoli/123 HTTP/1.1
Host: esempio.com
Accept: application/json
Questa richiesta recupera i dettagli dell'articolo con ID 123.
Esempio di Risposta JSON
{
"id": 123,
"titolo": "Introduzione a REST",
"autore": "Mario Rossi"
}
Implementare una semplice API REST con Python (Flask)
from flask import Flask, jsonify, request
app = Flask(__name__)
articoli = [{"id": 1, "titolo": "Primo articolo"}]
@app.route('/api/articoli', methods=['GET'])
def get_articoli():
return jsonify(articoli)
@app.route('/api/articoli', methods=['POST'])
def crea_articolo():
nuovo = request.json
articoli.append(nuovo)
return jsonify(nuovo), 201
if __name__ == '__main__':
app.run(debug=True)
Attenzione: Questo esempio è solo didattico. In produzione aggiungi validazione, autenticazione e gestione degli errori.
Best Practice nella Progettazione di API REST
- Usa nomi di risorse chiari e plurali negli endpoint (
/api/utenti
). - Gestisci correttamente i codici di stato HTTP (200, 201, 400, 404, 500...)
- Documenta sempre la tua API (Swagger/OpenAPI è uno standard de facto).
- Proteggi le API con autenticazione (token, OAuth2...)
Domande Frequenti
Qual è la differenza tra PUT e PATCH?
PUT sostituisce l'intera risorsa, PATCH aggiorna solo i campi specificati.REST è sempre meglio di SOAP?
Dipende dal contesto: REST è più semplice e leggero, SOAP più strutturato e adatto a scenari enterprise complessi.Checklist finale:
- Hai usato i verbi HTTP corretti?
- Le risorse hanno URL chiari?
- Gestisci tutti i codici di stato?