[Node.js] Express req, res 객체

LMH·2022년 12월 13일
0
post-thumbnail

Express req, res 객체는 http 모듈의 req, res 객체를 확장한 것입니다. 기존 http 모듈의 메소드와 Express에서 추가된 메소드를 모두 사용할 수 있습니다. 이번 포스팅에서는 자주 사용되는 메소드의 역할에 대해서 간단하게 정리 하겠습니다.

request 객체

req.app

req 객체를 통해 app 객체에 접근할 수 있습니다.

req.body

body-parser 미들웨어가 만드는 요청의 body를 해석한 객체입니다.

req.cookies

cookie-parser 미들웨어가 만드는 요청의 쿠키를 해석한 객체입니다.

req.ip

요청의 ip 주소가 담겨 있습니다.

req.params

라우트 매개변수에 대한 정보가 담긴 객체입니다.

req.query

쿼리스트링에 대한 정보가 담긴 객체입니다.

req.signedCookies

서명된 쿠키들은 req.cookies 대신 여기에 담겨 있습니다.

req.get(헤더 이름)

헤더의 값을 가져오고 싶을 때 사용하는 메소드입니다.

response 객체

res.app

res 객체를 통해 app 객체에 접근할 수 있습니다.

res.cookie(키, 값, 옵션)

쿠키를 설정하는 메소드입니다.

res.clearCookie(키, 값, 옵션)

쿠키를 제거하는 메소드입니다.

res.end()

데이터 없이 응답을 보냅니다.

res.json(JSON)

JSON 형식의 응답을 보냅니다.(객체를 전달할 경우 직렬화해서 JSON 형태로 전송)

res.redirect(주소)

리다이렉트할 주소와 함께 응답을 보냅니다.

res.render(뷰, 데이터)

템플릿 엔진을 렌더링해서 응답할 때 사용하는 메소드입니다.

res.send(데이터)

데이터와 함께 응답을 보냅니다. 데이터는 문자열, HTML, 버퍼, 객체, 배열일 수 있습니다.

res.sendFile(경로)

경로에 위치한 파일을 응답합니다.

res.set

응답의 헤더를 설정합니다.

res.status(코드)

응답 시 HTTP 상태 코드를 지정합니다.

체이닝

req, res 객체의 메소드는 메서드 체이닝을 지원하는 경우가 많으니 체이닝해서 사용하면 편리합니다.

res
  .status(200)
  .cookie('test', 'test')
  .redirect('/admin')

refecrence

  • [출판사 길벗] Node.js 교과서(개정 2판)
profile
새로운 것을 기록하고 복습하는 공간입니다.

0개의 댓글