API REST in Python: persistenza con SQLModel
Finora i nostri libri vivevano in un dizionario in memoria, destinato a svanire al riavvio del server. In questa puntata diamo loro una casa stabile: il database.
Sviluppo applicazioni, e-commerce e siti Web.
Linguaggi, pattern, architetture — tutto ciò che trasforma un'idea in codice che funziona.
Finora i nostri libri vivevano in un dizionario in memoria, destinato a svanire al riavvio del server. In questa puntata diamo loro una casa stabile: il database.
Abbiamo costruito l'ossatura della nostra API. Raccogliendo le rotte in un router con prefisso ed etichetta, abbiamo definito l'intero insieme CRUD per la risorsa libro, rispettando la convenzione REST sui metodi HTTP e sui codici di stato: 201 alla creazione, 404 quando una risorsa non esiste, 204 all'eliminazione.
In questa prima puntata abbiamo posto le fondamenta. Abbiamo chiarito che cosa significhi REST, perché lo stile stateless favorisca la scalabilità e come FastAPI, sfruttando le annotazioni di tipo di Python, ci permetta di esporre API con pochissima cerimonia e con una documentazione interattiva gratuita.
Concludiamo la serie mettendo insieme i tasselli che distinguono un'API funzionante da un'API pronta per la produzione.