Indice dei contenuti
Creare un'API CRUD (Create, Read, Update, Delete) di base in Node.js può essere fatto utilizzando il framework Express, che semplifica il processo di creazione di applicazioni web e API. Questa guida fornisce una procedura passo passo per creare un'API CRUD di base, mostrando le migliori pratiche e tecniche di codifica pratiche.
Abbiamo creato questa API per aiutare i nuovi sviluppatori e coloro che desiderano ampliare le proprie competenze nella creazione di applicazioni web moderne utilizzando Node.js ed Express. Che tu stia iniziando con lo sviluppo backend o desideri rafforzare la tua comprensione di Express.js, questo esempio servirà come una base semplice ma potente.
Nel corso di questa guida, imparerai come configurare un progetto Node.js, creare le route API e integrarle con un database per gestire operazioni di base sui dati. Alla fine, avrai un'API completamente funzionale che puoi utilizzare come punto di partenza per i tuoi progetti o per approfondire la tua comprensione delle tecnologie backend.
Prerequisiti
- Node.js installato sul tuo computer. Puoi scaricarlo dal sito ufficiale di Node.js.
- npm (Node Package Manager), che viene fornito con Node.js.
- Un editor di testo o un IDE (come Visual Studio Code).
1: Configurare il progetto
Crea una nuova directory per il tuo progetto e naviga al suo interno:
1 2 |
mkdir crud-api cd crud-api |
Inizializza un nuovo progetto Node.js:
1 |
npm init -y |
Installa Express e gli altri pacchetti necessari:
1 |
npm install express body-parser cors |
2: Creare il server di base
Crea un nuovo file chiamato server.js nella cartella del progetto.
Aggiungi il seguente codice al file server.js:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
const express = require('express'); const bodyParser = require('body-parser'); const cors = require('cors'); const app = express(); const PORT = process.env.PORT || 3000; // Middleware app.use(cors()); app.use(bodyParser.json()); // Dati di esempio (archiviazione in memoria) let users = []; // Operazioni CRUD // Creare un utente app.post('/users', (req, res) => { const user = req.body; users.push(user); res.status(201).json(user); }); // Leggere tutti gli utenti app.get('/users', (req, res) => { res.json(users); }); // Leggere un singolo utente tramite ID app.get('/users/:id', (req, res) => { const userId = req.params.id; const user = users.find(u => u.id === userId); if (user) { res.json(user); } else { res.status(404).send('Utente non trovato'); } }); // Aggiornare un utente tramite ID app.put('/users/:id', (req, res) => { const userId = req.params.id; const userIndex = users.findIndex(u => u.id === userId); if (userIndex > -1) { users[userIndex] = { ...users[userIndex], ...req.body }; res.json(users[userIndex]); } else { res.status(404).send('Utente non trovato'); } }); // Eliminare un utente tramite ID app.delete('/users/:id', (req, res) => { const userId = req.params.id; users = users.filter(u => u.id !== userId); res.status(204).send(); }); // Avviare il server app.listen(PORT, () => { console.log(`Il server è in esecuzione su http://localhost:${PORT}`); }); |
3: Avviare il server
Per avviare il server, esegui il seguente comando nel terminale:
1 |
node server.js |
Dovresti vedere il messaggio che indica che il server è in esecuzione.
4: Testare l'API
Puoi utilizzare strumenti come Postman o cURL per interagire con la tua API.
Creare un utente
- Metodo: POST
- URL: http://localhost:3000/users
- Body: { "id": "1", "name": "John Doe", "email": "[email protected]" }
Leggere tutti gli utenti
- Metodo: GET
- URL: http://localhost:3000/users
Leggere un utente tramite ID
- Metodo: GET
- URL: http://localhost:3000/users/1
Aggiornare un utente
- Metodo: PUT
- URL: http://localhost:3000/users/1
- Body: { "name": "John Smith" }
Eliminare un utente
Metodo: DELETE
URL: http://localhost:3000/users/1
Conclusione
In questo articolo abbiamo visto come realizzare una API CRUD di base utilizzando Node.js ed Express. E' importante sottolineare che questo esempio di codice utilizza un array in memoria per archiviare i dati degli utenti, che verranno persi al riavvio del server. Per un'applicazione di produzione sarà ovviamente necessario prevedere l'utilizzo di un database (come MongoDB, PostgreSQL, ecc.) per preservare i dati inseriti.