Ngày 43 học MERN Stack

Hôm nay tôi đã hoàn thành các thao tác CRUD đầy đủ.

Hôm qua tôi đã học cách đọc dữ liệu bằng req.params. Hôm nay tôi đã học cách thay đổi dữ liệu bằng các phương thức HTTP POST, PUT và DELETE. Tôi đã sử dụng file system để sửa đổi cơ sở dữ liệu cục bộ của mình.

Viết mã để thay đổi dữ liệu đòi hỏi sự cẩn trọng. Bạn phải quản lý vòng đời (lifecycle) để tránh làm hỏng dữ liệu lưu trữ.

Dưới đây là cách tôi xây dựng route POST:

  • Tôi đã sử dụng middleware express.json() để đọc body gửi đến.
  • Tôi đã tạo một đối tượng người dùng mới với một ID duy nhất.
  • Tôi đã thêm người dùng mới vào mảng hiện có.
  • Tôi đã sử dụng module fs để lưu mảng đã cập nhật vào tệp JSON của mình.

Đây là mã nguồn:

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 });
    });
});

Bước này giúp tôi chuyển từ việc chỉ đọc dữ liệu sang quản lý toàn bộ vòng đời của dữ liệu.

Nguồn: https://dev.to/ali_hamza_589ec7b3eb6688d/day-43-of-learning-mern-stack-1cif