
오늘은 기존 Get 방식으로 데이터를 조회해봤던 유튜버 실습 코드를
Postman을 활용해 Post 방식도 실습해보았다.
Postman은 API를 개발, 테스트, 디버깅하는 데 유용한 도구이다.
간단하게 말하면, 클라이언트와 서버 간의 HTTP 요청을 쉽게 보낼 수 있도록 도와주는
API 테스트 도구라고 보면 된다.
위 링크에서 사용자 OS에 맞는 버전을 다운로드하고 설치하면 끝이다.
정말 간단하다.
웹사이트에서도 가능은 하지만 비추천한다.
(사용할 수 없는 기능이 많다.)
유튜버 실습 전에 간단하게 Post 방식을 익혀보았다.
app.post ('/test', (req, res) => {
res.send('Hello POST!');
});
위 코드를 보면 /test URL을 POST로 받고,
'Hello POST!' 를 출력하는 요청을 보낸다.
아래는 실제 Postman 에서 출력되는 결과이다.

원하는대로 정상적으로 출력된다!
Post 방식으로 전달하기 전에 특징 몇 가지만 알아보자.
Get 방식은 URL에 데이터를 전달하지만,
Post 방식은 Body에 데이터를 포함해서 보낸다.
주로 JSON, Form 데이터 등 다양한 형식으로 데이터를 전달 가능하다.
앞서 설명한 것처럼 Post 방식은 Body를 통해 데이터를 전송한다.
우리가 관심이 있는건 데이터 이므로 값을 가져와 보겠다.
app.post ('/test', (req, res) => {
console.log(req.body):
});
위 코드에서 req.body 를 console.log 로 출력해보았다.

하지만 결과는 undefined가 출력된다.
이를 해결하기 위해 다음 한 줄을 추가하면 된다.
app.use(express.json());
이후 다시 실행하면, 정상적으로 데이터를 받을 수 있다.


이제 Post 방식으로 데이터를 전송하고,
JSON 형식으로 값을 읽을 수 있으니 유튜버 데이터를 등록하는 실습을 해보겠다.
let youtuber1 ={
channelTitle : "우왁굳",
sub : "173만명",
videoNum : "8.2천개"
}
let youtuber2 ={
channelTitle : "Eagles TV",
sub : "36.1만명",
videoNum : "3.5천개"
}
let youtuber3 ={
channelTitle : "아이네 INE",
sub : "42.6만명",
videoNum : "561개"
}
let db = new Map(); //key - value 쌍 , json과 유사
let id = 1;
db.set(id++, youtuber1);
db.set(id++, youtuber2);
db.set(id++, youtuber3);
app.use(express.json()); // http 외 모듈인 '미들웨어' : json 설정
app.post('/youtuber' , (req,res) => {
console.log(req.body);
// 등록..? Map(db)에 저장(set) 해줘야함
db.set(id++, req.body)
res.json({
message : `${db.get(id-1).channelTitle} 님, 유튜버 생활을 응원합니다!`
});
})
앞 글의 Map을 활용한 데이터 저장과
Post 방식을 합친 것이다.
결과:


Get 으로 데이터도 정상적으로 불러와진다!
오늘은 POST 방식에 대해 학습하며 Body에 데이터를 넣어 전송하는 방법을 익혔다.
처음에는 GET 방식이 더 쉽고 익숙해 보였기에
왜 굳이 POST 방식을 써야 할까? 라는 의문이 들었다.
하지만 POST 방식의 장점과 보안적인 이점을 배우면서 그 필요성을 깨달았다.
그리고 우리가 자주 사용하는 많은 웹사이트들이 POST 방식을 적극 활용하고 있다는 점도 흥미로웠다.
이번 실습을 통해 웹 개발에 대한 자신감이 붙었고,
개발자로서 한 단계 더 성장하고 있다는 느낌을 받았다.