[TIL_2023.11.28] Node.JS/ Express.js의 req, res 객체

김효진·2023년 11월 28일
0
post-custom-banner

팀프로젝트를 하면서 req. ~~, res. ~~ 이런 코드의 쓰임을 정확하게 몰라 쿠키를 사용할때 어렵게 느껴졌던 것들이 있었는데 알고나니 기능만 제대로 알았으면 쉬웠던 것들이라는 것을 느껴 조금 여유가 생긴 김에 강의와 함께 공부해보았다.

req 객체

  • req.app : req 객체를 통해 Express.js의 app 객체에 접근할 수 있다.
  • req.ip: 요청한 Client의 ip 주소가 담겨 있다.
  • req.body: Request를 호출할 때 body로 전달된 정보가 담긴 객체
    • express.json() Middleware를 이용하여야 해당 객체를 사용할 수 있다.
  • req.params: 라우터 매개 변수(Path Params)에 대한 정보가 담긴 객체
    • http://params.com/user/1 일 경우 1을 받는다. 데이터의 아이디 값을 받는 경우 등에 자주 쓰인다.
  • req.query: Request를 호출할 때 쿼리 스트링으로 전달된 정보가 담긴 객체
    -> 쿼리스트링이란? URL의 뒤에 입력 데이터를 함께 제공하는 가장 단순한 데이터 전달 방법이다. 웹개발에서 데이터를 요청하는 방식 중 주로 GET방식으로 데이터를 요청할 때 쓰이는 방법
    -> 쿼리스트링 사용법: URL주소뒤에 물음표('?')를 붙이고 key=value 을 붙여 사용한다. (예시 : http://www.example.com/shop?category=pc)
  • req.cookies: Request를 호출할 때 Cookie 정보가 담긴 객체다.
    • cookie-parser Middleware를 이용하여야 해당 객체를 사용할 수 있다.
  • req.get(Header): 헤더에 저장된 값을 가져오고 싶을 때 사용

res 객체

  • res.app : res 객체를 통해 Express.js의 app 객체에 접근할 수 있다.
  • res.status(코드) : Response에 HTTP 상태 코드를 지정
  • res.send(데이터) : 데이터를 포함하여 Response를 전달
    • ex) res.send( 변수명 ); ,res.send( '안녕' ); 등 다양한 데이터 타입을 전달할 수 있음.
  • res.json(JSON) : JSON 형식으로 Response를 전달
    • ex) res.json({ message: 'Hello, World' });
  • res.end() : 데이터 없이 Response를 전달합니다.
  • res.redirect([status,] path): 리다이렉트할 주소와 함께 Response를 전달
    • ex) res.redirect('https://naver.com'); -> status 값을 같이 입력하는 경우 302번을 써야 함. 그 외의 상태코드는 잘 작동하지 않았다. status 지정되지 않은 경우 기본값은 "302 Found"이다. 지정이 필수는 아님.
  • res.cookie(Key, Value, Option) : 쿠키를 설정할 때 사용
  • res.clearCookie(Key, Value, Option) : 쿠키를 제거할 때 사용
profile
더 많은 사람들이 더 좋은 정보와 서비스를 누릴 수 있게!!
post-custom-banner

0개의 댓글