วันที่ 43 ของการเรียนรู้ MERN Stack

วันนี้ผมทำ CRUD operations ได้ครบถ้วนแล้ว

เมื่อวานผมเรียนรู้วิธีการอ่านข้อมูลโดยใช้ req.params ส่วนวันนี้ผมได้เรียนรู้วิธีการแก้ไขข้อมูลโดยใช้ HTTP POST, PUT และ DELETE methods โดยผมได้ใช้ file system ในการแก้ไข local database ของผม

การเขียนโค้ดเพื่อเปลี่ยนแปลงข้อมูลนั้นต้องใช้ความระมัดระวัง คุณต้องจัดการ lifecycle ให้ดีเพื่อหลีกเลี่ยงไม่ให้ storage ของคุณเสียหาย

นี่คือวิธีที่ผมสร้าง POST route:

  • ผมใช้ express.json() middleware เพื่ออ่านข้อมูล body ที่ส่งเข้ามา
  • ผมสร้าง user object ใหม่พร้อมกับ ID ที่ไม่ซ้ำกัน
  • ผมเพิ่ม user ใหม่เข้าไปใน array เดิมที่มีอยู่
  • ผมใช้ fs module เพื่อบันทึก array ที่อัปเดตแล้วลงในไฟล์ 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 });
    });
});

ขั้นตอนนี้ทำให้ผมก้าวจากการแค่การอ่านข้อมูล ไปสู่การจัดการ lifecycle ของข้อมูลแบบครบวงจร

ที่มา: https://dev.to/ali_hamza_589ec7b3eb6688d/day-43-of-learning-mern-stack-1cif