Cosa rende un'API Laravel pronta per la produzione
Un tutorial su Laravel mostra come creare un'API CRUD in 30 minuti. Un'API Laravel di produzione è un animale diverso. Gestisce correttamente l'autenticazione e l'autorizzazione, convalida l'input a ogni livello, restituisce risposte di errore coerenti, è completamente testato e funziona bene sotto carico. Passare dal tutorial alla produzione richiede decisioni architettoniche intenzionali.
Le pratiche di maggior impatto che applichiamo in Trilab.Tech: utilizzare Form Requests per tutta la convalida degli input (mai convalidare nel controller), scrivere risorse API e raccolte di risorse per controllare la forma dell'output (mai restituire direttamente modelli Eloquent), utilizzare classi di policy per tutta la logica di autorizzazione, scrivere test di funzionalità per ogni endpoint utilizzando Pest PHP e impostare Laravel Telescope o Debugbar in fase di sviluppo per catturare N+1 query prima che raggiungano produzione.
Dal punto di vista dell'infrastruttura, le API Laravel di produzione necessitano di operatori in coda per lavori in background (non eseguire mai operazioni sincrone che potrebbero bloccare una richiesta web), Redis per la memorizzazione nella cache e le sessioni e un'adeguata limitazione della velocità sugli endpoint pubblici. Questi non sono extra opzionali: sono la linea di base che separa un sistema che funziona in demo da uno che funziona con carico reale. Il nostro team di Trilab.Tech crea le API Laravel in questo modo fin dal primo giorno, in modo che i clienti non debbano mai affrontare il problema "ha funzionato durante la fase di staging" al momento del lancio.
