← Tutti i programmi

Corso Python e API Design for Data Interchange

Categoria Software engineering e architettura

Corso Python e API Design for Data Interchange

Visione Generale

Il corso copre l'uso di Python per lo scambio dati tramite API. La durata complessiva è di tre giorni. I concetti riprendono i moduli base, avanzato e testing già consolidati. L'approccio è pratico e orientato alla progettazione robusta.

Sessione 1: Consolidamento Python e Strutture Dati

Ripresa dei concetti fondamentali dal modulo Python Base. Utilizzo di Jupyter Notebook come ambiente di prototipazione. Gestione avanzata di tipi di dato e strutture complesse. Introduzione alla manipolazione dati con Pandas per il data interchange. Focus sulle funzionalità del modulo Python Avanzato necessarie per le API. Uso intensivo di Type Hinting per la validazione dei dati. Definizione di Classi e Modelli dati con Pydantic. Gestione delle eccezioni e logging strutturato. Utilizzo di Decoratori per la logica trasversale. Organizzazione del codice in moduli e pacchetti riutilizzabili.

Sessione 2: API REST Design con OAS e Swagger

Progettazione delle API prima dello sviluppo del codice. Adozione dello standard OpenAPI Specification (OAS). Definizione delle risorse e struttura degli URL. Uso corretto dei verbi HTTP per le operazioni CRUD. Gestione dei codici di stato HTTP per risposte semantiche. Documentazione interattiva tramite Swagger UI. Definizione degli schemi di richiesta e risposta. Sicurezza e autenticazione nelle specifiche OAS. Design contract-first per garantire interoperabilità. Versioning delle API e gestione delle modifiche.

Sessione 3: Implementazione Framework e Testing

Scelta del framework tra FastAPI o Flask per lo sviluppo. Configurazione dell'applicazione e routing delle richieste. Implementazione della validazione automatica dei dati in ingresso. Serializzazione delle risposte in formato JSON per l'interscambio. Integrazione della documentazione Swagger generata automaticamente. Dependency Injection per la gestione dei servizi. Strategie di testing riprese dal modulo Python Testing. Scrittura di unit test con Pytest per gli endpoint. Mocking delle dipendenze esterne e dei database. Automazione dei test e verifica della copertura del codice. Deploy base dell'applicazione e configurazione server.