اليوم ٤٣ من تعلم MERN Stack
انتهيت اليوم من عمليات CRUD الكاملة.
بالأمس تعلمت كيفية قراءة البيانات باستخدام req.params. واليوم تعلمت كيفية تغيير البيانات باستخدام طرق HTTP POST و PUT و DELETE. استخدمت نظام الملفات لتعديل قاعدة بياناتي المحلية.
كتابة الكود الذي يغير البيانات تتطلب حذراً. يجب عليك إدارة دورة الحياة (lifecycle) لتجنب تلف التخزين الخاص بك.
إليك كيف قمت ببناء مسار POST:
- استخدمت express.json() middleware لقراءة الـ body الوارد.
- أنشأت كائن مستخدم (user object) جديد بمعرف (ID) فريد.
- أضفت المستخدم الجديد إلى المصفوفة (array) الموجودة.
- استخدمت وحدة 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