วันที่ 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