День 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