𝗗𝗶𝗮 𝟰𝟯 𝗱𝗲 𝗔𝗽𝗿𝗲𝗻𝗱𝗶𝘇𝗮𝗴𝗲𝗺 𝗱𝗮 𝗦𝘁𝗮𝗰𝗸 𝗠𝗘𝗥𝗡

Hoje eu finalizei as operações CRUD completas.

Ontem eu aprendi a ler dados usando req.params. Hoje eu aprendi a alterar dados usando os métodos HTTP POST, PUT e DELETE. Usei o sistema de arquivos para modificar meu banco de dados local.

Escrever código que altera dados exige cuidado. Você deve gerenciar o ciclo de vida para evitar a corrupção do seu armazenamento.

Aqui está como eu construí a rota POST:

  • Usei o middleware express.json() para ler o corpo (body) da requisição.
  • Criei um novo objeto de usuário com um ID único.
  • Adicionei o novo usuário ao array existente.
  • Usei o módulo fs para salvar o array atualizado no meu arquivo JSON.

Aqui está o código:

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 });
    });
});

Este passo me leva de apenas ler dados para gerenciar um ciclo de vida completo de dados.

Fonte: https://dev.to/ali_hamza_589ec7b3eb6688d/day-43-of-learning-mern-stack-1cif