День 43 изучения MERN Stack

Сегодня я завершил работу над полным циклом 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 });
});

});

Этот шаг переводит меня от чтения данных к управлению полным жизненным циклом данных.

Источник: https://dev.to/ali_hamza_589ec7b3eb6688d/day-43-of-learning-mern-stack-1cif