Hari ke-43 Belajar MERN Stack

Saya menyelesaikan operasi CRUD lengkap hari ini.

Kemarin saya belajar membaca data menggunakan req.params. Hari ini saya belajar mengubah data menggunakan metode HTTP POST, PUT, dan DELETE. Saya menggunakan file system untuk memodifikasi database lokal saya.

Menulis kode yang mengubah data memerlukan ketelitian. Anda harus mengelola lifecycle untuk menghindari kerusakan pada penyimpanan Anda.

Berikut adalah cara saya membangun rute POST:

  • Saya menggunakan middleware express.json() untuk membaca body yang masuk.
  • Saya membuat objek user baru dengan ID yang unik.
  • Saya menambahkan user baru ke dalam array yang sudah ada.
  • Saya menggunakan modul fs untuk menyimpan array yang telah diperbarui ke file JSON saya.

Berikut adalah kodenya:

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

Langkah ini membawa saya dari sekadar membaca data menjadi mengelola lifecycle data secara penuh.

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