𝗗𝗮𝘆 𝟰𝟯 𝗼𝗳 𝗟𝗲𝗮𝗿𝗻𝗶𝗻𝗴 𝗠𝗘𝗥𝗡 𝗦𝘁𝗮𝗰𝗸
Сьогодні я завершив повний цикл операцій 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