post는 웹브라우저로 테스트가 안됩니다. postman의 등장
-> post의 경우
- id, password, name, email, contact등의 내용이 body부분에 숨겨져서 들어와야 웹 브라우저는 post method로 전해진 것임을 알아차린다.
- 그럼 테스트는 어떻게 하나? get방식처럼 url로 보내줄 수도 없는데?
- 그래서 postman이라는 api 플랫폼을 사용할 것이다!
post req, res 구현 & 테스트
데이터 -> api로 받는 방법 3가지
- url로 받기
- url로 쿼리스트링으로 받기
- body로 받기
postman을 통해 json으로 req 보내고 res 받기 실습 해봄 -> app.js

//(1) 작업을 하기 위해 사전작업이 필요해
app.use(express.json()) <- 이 부분이 매우 중요하다!
위의 작업 안 하고 console.log(req.body) 하면 콘솔창에 undefined만 나온다.
json으로 바꿔주는? 작업이 필요함
post로 전달이 되는지 안 되는지 확인하는 작업이
보통 console.log로 postman에 넘겨지나 안 넘겨지나를 보고 res.send(req.body.message) // req.json(req.body)로 넘긴다.
유튜버 등록
- 기존 유튜버 3명만 정보를 반환할 수 있었고, 새로운 유튜버를 등록할 수가 없었다.
- 1,2,3 유튜버에 대한 api만 존재했던 것!
->따라서 post를 활용해서 유튜버블 추가해보려고 한다!
<API 설계 (URL + Method)>
- 1) GET/youtuber/:id : id로 map에서 객체를 찾아서, 그 객체의 정보를 뿌려줌
- req : url에 있는 params의 id값(params.id) <= map에 저장된 key값을 전달
- res : map에서 id로 객체를 조회하여 전달
- 2) 유튜브 등록 -> POST/youtuber
- req : body에 (channelTitle, sub = 0, videoNum = 0) 신규 유튜버 정보 전달 받을 것, 그리고 db에 저장까지 해줌!
- res : "channelTitle님, 유튜버 생활을 응원합니다!"
위의 설계목표에 따라 설계하고 postman으로 확인할 수 있다!
-> 실습 파일 : youtuber-demo.js


등록 고도화






전체 조회 : 오류남! 해결해야함!
지금까지 개별 조회는 했고!
이제 전체 조회를 해보려고 합니다.
<API 설계 (URL + Method)>
- 0) 전체 유튜버 "조회" GET/youtubers
- 1) 개별 유튜버 "조회" GET/youtubers/:id : id로 map에서 객체를 찾아서, 그 객체의 정보를 뿌려줌
- req : url에 있는 params의 id값(params.id) <= map에 저장된 key값을 전달
- res : map에서 id로 객체를 조회하여 전달
- 2) 유튜브 등록 -> POST/youtubers
- req : body에 (channelTitle, sub = 0, videoNum = 0) 신규 유튜버 정보 전달 받을 것, 그리고 db에 저장까지 해줌!
- res : "channelTitle님, 유튜버 생활을 응원합니다!"

오류 해결 : 복붙 잘못하면.. feat. stackoverflow
stackoverflow -> 커뮤니티 : 프로그래밍에서 에러가 나면 여기다가 물어보자..