본문 바로가기
Programming

[Server] express req, res 속성, 메서드 종류

by 개발자 염상진 2022. 5. 27.

 

express req, res

express에서의 req, res 객체는 http 모듈의 req, res 객체를 확장한 것이다. 따라서 기존 http 모듈의 메소드를 그대로 사용할 수 있고 express에서 추가된 메서드나 속성을 사용할 수도 있다. 

 

Node.js의 http 모듈에서 사용했던 res.write, res.writeHead, res.end 메서드들을 그대로 사용할 수도 있고, res.send, res.sendFile 메서드를 사용할 수 있다. 

 

express의 req, res 객체는 다양한 속성을 가지고 있다. 가장 많이 쓰이는 속성과 메서드들은 다음과 같다. 만약 프로젝트를 진행하면서 더 많은 속성과 메서드가 필요하다면 공식문서를 참조해야 한다.

 

메서드 체이닝

req, res 객체의 메서드는 메서드 체이닝을 제공하기 때문에 코드양을 획기적으로 줄일 수 있다.

res.status(200)
	.cookie('test', 'test')
    .render('view.pug')

 

req 객체

 

  • req.app : req 객체를 통해 app 객체에 접근이 가능하다. req.app.get('port')처럼 사용할 수 있다.
  • req.body : body-parser 미들웨어가 만드는 요청의 본문을 해석한 객체다. fetch 요청이 들어오는 경우 req.body 내부에 payload를 확인할 수 있다.
  • req.cookie : cookie-parser 미들웨어가 만드는 요청의 쿠키를 해석한 정보를 담고 있는 객체다.
  • req.ip : 요청한 클라이언트의 IP 정보를 담고 있다.
  • req.params : 라우트 매개변수('/user/:id')에 담긴 정보를 담고 있는 객체.
  • req.query : 쿼리스트링에 대한 정보를 담고 있는 객체
  • req.signedCookies : 서명된 쿠키들은 req.cookie 대신 이곳에 담긴다.
  • req.get(헤더 이름) : 헤더 값을 가져올 때 사용하는 메소드다. 

 

res 객체

 

  • res.app : res 객체를 통해 app 객체에 접근이 가능하다.
  • res.cookie(키 , 값, 옵션) : 쿠키를 설정하는 메서드
  • res.clearCookie(키, 값, 옵션) : 쿠키를 제거하는 메서드
  • res.end() : 데이터 없이 응답을 보내는 메서드
  • res.json(JSON) : JSON 형식으로 변환한 데이터를 전송한다.
  • res.redirect(주소) : 리다이렉트할 주소와 함께 응답을 전송한다.
  • res.render(View, 데이터) : 템플릿 엔진(View)을 렌더링 해서 응답할 때 사용한다.
  • res.send(데이터) : 데이터와 함께 응답을 전송한다. 데이터는 문자열, HTML, 버퍼, 객체, 배열이 담길 수 있다.
  • res.sendFile(경로) : 해당 경로에 위치한 파일을 전송한다.
  • res.set(헤더, 값) : 응답의 헤더를 설정
  • res.status(코드) : 응답 시 HTTP 상태 코드를 설정한다.

 

 

 

 

 

[Web Server] fetch API 사용하는 방법

fetch API 사용하는 방법 fetch는 프론트에서 서버로 리소스를 요청하기 위해서 Javascript에 내장된 Promise 함수다. 기본적으로 비동기 태생을 지닌 녀석이기 때문에 Javascript가 아닌 Node.js나 웹 브라우

about-tech.tistory.com

 

 

[Server] express Router 분리 사용법

express Router express 프레임워크를 사용하는 가장 큰 이유 중 하나가 깔끔한 Router 때문이다. express에서 라우터를 사용하기 위해서는 express 인스턴스에 HTTP 메소드를 호출하거나 path를 첫번째 인자로

about-tech.tistory.com

 

 

[Server] express 서버 시작하는 방법, 미들웨어 종류

Express Node.js에서도 HTTP 요청과 응답을 처리할 수 있는 HTTP 모듈을 제공한다. 그럼에도 불구하고 코드가 보기 힘들고, 확장성이 떨어지기 때문에 npm에서 서버를 제작하는 웹 서버 프레임워크 Expres

about-tech.tistory.com

 

댓글