Segui il viaggio della richiesta.
Una risposta sbagliata non indica sempre un errore nella route. Nel progetto del manuale la richiesta attraversa più passaggi: client, URL, middleware, route, dati e risposta. Controllali in quest’ordine.
1. Parti da ciò che osservi
Annota il messaggio esatto, lo status code e i dati inviati. “Non funziona” non è ancora una diagnosi. “La POST restituisce 400 quando invio un nome” è un punto di partenza riproducibile.
2. Il client raggiunge il processo giusto?
Controlla host e porta. Verifica che il processo sia avviato dalla cartella corretta e osserva il terminale. Se hai modificato un file ma la risposta è identica, controlla che il processo sia stato riavviato e che il client stia chiamando quella versione.
3. Metodo e URL coincidono?
Una GET e una POST sullo stesso percorso sono richieste diverse. Confronta metodo e percorso con la route dichiarata. Distingui un parametro nel percorso da una query string: /persone/3 e /persone?id=3 non si leggono dallo stesso oggetto.
4. Il body è stato interpretato?
Se req.body non contiene quello che ti aspetti, controlla il contenuto della richiesta, il suo Content-Type e la posizione di express.json(). Il parser deve essere registrato prima della route che legge il body.
5. Una route precedente intercetta la richiesta?
L’ordine è parte del comportamento di Express. Cerca middleware che terminano la risposta, route duplicate o un gestore 404 registrato troppo presto. Confronta la sequenza con il laboratorio completo del manuale.
6. I dati hanno la durata prevista?
Se la persona creata scompare al riavvio, ricorda dove vive: l’array del laboratorio è nella memoria del processo. Prima di cercare un errore nella GET, verifica se il processo è stato riavviato.
Una buona nota di debug
- Richiesta: metodo, URL e body.
- Atteso: status e risposta.
- Osservato: status e risposta effettivi.
- Ipotesi: una causa specifica.
- Prova: una sola modifica.
- Esito: ipotesi confermata o scartata.
Evita di registrare credenziali o dati personali negli appunti e nei log. Per gli esercizi usa nomi e valori di esempio.
Prova tu
Nel progetto di esercizio sposta temporaneamente il parser JSON dopo una route che legge il body. Osserva il risultato, scrivi una diagnosi e ripristina l’ordine corretto. Poi prova a chiamare una risorsa inesistente: sai distinguere i due problemi?