node에서 다양한 요청 객체 받기

codeing999·2023년 3월 8일
0

JavaScript

목록 보기
21/24

body

  • 요청 바디에 json형태로 오는 것들.
  • 하나씩 받을 때는 이렇게 req.query. 다음에 변수명까지 직접 입력.
  • 평소엔 숫자는 Number로 잘 받아지지만, multipart/form-data 형태로 받을 때는 string으로 받아지는 듯.
const category = req.body.category;
  • 여러개 한번에 받을 때는 이렇게 {}로 감싸서 여러 변수 이름 입력. req.body에서 동일한 이름인 값을 알아서 받아온다.
const { category, content } = req.body;

header

  • 요청 헤더 전체
const {headers} = req;
  • 요청 헤더 내의 특정 헤더. 쩜을 안쓰고 []를 쓰는 이유가 있었던거 같기도한데 기억이 안난다. 보통 키값에 띄어쓰기가 들어가거나 할 때 []를 쓰는데 헤더에 띄어쓰기 없을 건데.
const token = req.headers["x-access-token"]

pathparameter

const id = req.params.id;
  • '/app/:id' 이런 식으로 오는 것들.
  • 쿼리랑은 다르게 아예 새 api로 취급받으니 주의
    • '/app/user'라는 api가 있고 'app/:id'이런 api도 있을 땐 라우터에서 '/app/user'를 더 위에 적어줘야 한다. 안그러면 'user'라는 경로도 pathparameter로 인식하여서 'app/:id' api로 인식한다.
  • 숫자나 boolean을 의도하였더라도 모든게 스트링이므로 주의

query

const id = req.query.id
  • /app/?id=1&pw=1234 이런식으로 오는 것들.
  • true, false 넣으면 string 아닌 boolean으로 오는 거 확인함(내가 미들웨어 따로 쓴게 있나?)
  • 근데 숫자는 string으로 오는 것 확인.

multi part/form data

  • 파일을 포함한 요청일 때.
  • 파일과 스트링만 가능하다.
  • multer라는 패키지를 주로 사용해서 미들웨어로 처리하여 파일을 받는데 자세한건 생략.
  • 파일과 같이 온 스트링들은 req.body로 받으면 된다.
    • 이 때 배열을 받고 싶으면 문자열로 받은 뒤 해당 문자열을 JSON.parse()를 써서 json 형태로 변환해주면 배열로 됨
profile
코딩 공부 ing..

0개의 댓글