𝗚𝗶𝗼𝗿𝗻𝗼 𝟰𝟯 𝗱𝗶 𝗔𝗽𝗽𝗿𝗲𝗻𝗱𝗶𝘀𝘁𝗮𝘇𝗶𝗼𝗻𝗲 𝗱𝗲𝗹𝗹𝗼 𝗦𝘁𝗮𝗰𝗸 𝗠𝗘𝗥𝗡
Oggi ho completato le operazioni CRUD complete.
Ieri ho imparato a leggere i dati usando req.params. Oggi ho imparato a modificare i dati utilizzando i metodi HTTP POST, PUT e DELETE. Ho usato il file system per modificare il mio database locale.
Scrivere codice che modifica i dati richiede attenzione. Bisogna gestire il ciclo di vita per evitare di corrompere lo storage.
Ecco come ho costruito la rotta POST:
- Ho usato il middleware express.json() per leggere il body in entrata.
- Ho creato un nuovo oggetto utente con un ID univoco.
- Ho aggiunto il nuovo utente all'array esistente.
- Ho usato il modulo fs per salvare l'array aggiornato nel mio file JSON.
Ecco il codice:
const express = require("express"); const fs = require("fs"); const users = require("./MOCK_DATA.json"); const app = express();
app.use(express.json());
app.post("/api/users", (req, res) => { const body = req.body; const newUser = { ...body, id: users.length + 1 }; users.push(newUser);
fs.writeFile("./MOCK_DATA.json", JSON.stringify(users), (err) => {
if (err) return res.status(500).json({ error: "Write operation failed" });
return res.status(201).json({ status: "Success", userId: newUser.id });
});
});
Questo passaggio mi porta dalla lettura dei dati alla gestione di un intero ciclo di vita dei dati.
Fonte: https://dev.to/ali_hamza_589ec7b3eb6688d/day-43-of-learning-mern-stack-1cif