9/4_15일차

자햐·2024년 9월 10일

교육

목록 보기
14/51

post는 웹브라우저로 테스트가 안됩니다. postman의 등장

-> post의 경우

  • id, password, name, email, contact등의 내용이 body부분에 숨겨져서 들어와야 웹 브라우저는 post method로 전해진 것임을 알아차린다.
  • 그럼 테스트는 어떻게 하나? get방식처럼 url로 보내줄 수도 없는데?
  • 그래서 postman이라는 api 플랫폼을 사용할 것이다!

post req, res 구현 & 테스트

데이터 -> api로 받는 방법 3가지

  1. url로 받기
  2. url로 쿼리스트링으로 받기
  3. 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)로 넘긴다.

유튜버 등록

  • 유튜브 데모 업그레이드 ! 할 것이다

  • 기존에 만들어놨던 youtuber-demo.js파일 내의 코드의 아쉬운 점

  1. 기존 유튜버 3명만 정보를 반환할 수 있었고, 새로운 유튜버를 등록할 수가 없었다.
  2. 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
    • req : x
    • res : map을 전체 조회
  • 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 -> 커뮤니티 : 프로그래밍에서 에러가 나면 여기다가 물어보자..

profile
산업과 예술의 만남에 있는 예비 개발자..

0개의 댓글