MERNスタック学習 43日目

今日、完全なCRUD操作を完了しました。

昨日は req.params を使ったデータの読み取りを学びました。今日は HTTP POST、PUT、DELETE メソッドを使ってデータを変更する方法を学びました。ローカルデータベースを修正するためにファイルシステムを使用しました。

データを変更するコードを書くには注意が必要です。ストレージの破損を防ぐために、ライフサイクルを管理しなければなりません。

POST ルートの構築方法は以下の通りです:

  • express.json() ミドルウェアを使用して、送られてくる body を読み取りました。
  • 一意の ID を持つ新しいユーザーオブジェクトを作成しました。
  • 既存の配列に新しいユーザーを追加しました。
  • 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