MERN 스택 학습 43일 차
오늘은 전체 CRUD 작업을 완료했습니다.
어제는 req.params를 사용하여 데이터를 읽는 법을 배웠습니다. 오늘은 HTTP POST, PUT, DELETE 메서드를 사용하여 데이터를 변경하는 법을 배웠습니다. 로컬 데이터베이스를 수정하기 위해 파일 시스템을 사용했습니다.
데이터를 변경하는 코드를 작성할 때는 주의가 필요합니다. 저장소가 손상되는 것을 방지하려면 생명주기(lifecycle)를 잘 관리해야 합니다.
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