𝗗𝗮𝘆 𝟰𝟯 𝗼𝗳 𝗟𝗲𝗮𝗿𝗻𝗶𝗻𝗴 𝗠𝗘𝗥𝗡 𝗦𝘁𝗮𝗰𝗸

Сьогодні я завершив повний цикл операцій CRUD.

Учора я навчився зчитувати дані за допомогою req.params. Сьогодні я навчився змінювати дані за допомогою методів HTTP POST, PUT та DELETE. Я використовував файлову систему для модифікації своєї локальної бази даних.

Написання коду, який змінює дані, потребує обережності. Ви повинні керувати життєвим циклом, щоб уникнути пошкодження сховища.

Ось як я побудував POST-маршрут:

  • Я використав middleware express.json() для зчитування тіла вхідного запиту.
  • Я створив новий об'єкт користувача з унікальним ID.
  • Я додав нового користувача до існуючого масиву.
  • Я використав модуль fs, щоб зберегти оновлений масив у мій JSON-файл.

Ось код:

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

Цей крок переводить мене від зчитування даних до управління повним життєвим циклом даних.

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