요청 데이터 처리 (Query, Params, Body)
클라이언트(프론트엔드)가 서버로 데이터를 보낼 때 사용하는 3가지 핵심 바구니입니다.
🛒 데이터 배달의 3가지 형태
- req.query: 게시판 2페이지, 최신순 정렬 등 "조건/옵션"을 URL 뒤에 붙여 보낼 때 (GET)
- req.params: 특정 유저 1명의 프로필 등 "식별자"를 URL 경로 자체에 포함할 때 (GET/PUT)
- req.body: 비밀번호, 긴 게시글 본문 등 "크고 숨겨야 하는 데이터"를 보낼 때 (POST/PUT)
// Body 데이터를 파싱(해석)하기 위한 필수 내장 미들웨어 장착
app.use(express.json()); // JSON 형식 허용
app.use(express.urlencoded({ extended: true })); // form 형식 허용
app.post("/login", (req, res) => {
// 1. Query String: url?sort=desc
const sortType = req.query.sort;
// 2. Path Variable: url/users/123
const userId = req.params.id;
// 3. Request Body: 은밀하게 봉투(body)에 담겨온 데이터 (비밀번호 등)
const { email, password } = req.body;
res.send(`${email}님 로그인 시도 확인`);
});