𝗚𝗶𝗼𝗿𝗻𝗼 𝟰𝟯 𝗱𝗶 𝗔𝗽𝗽𝗿𝗲𝗻𝗱𝗶𝘀𝘁𝗮𝘇𝗶𝗼𝗻𝗲 𝗱𝗲𝗹𝗹𝗼 𝗦𝘁𝗮𝗰𝗸 𝗠𝗘𝗥𝗡

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