Node/익스프레스 웹 서버 만들기

라우터 분리하기

webmaster 2022. 9. 10. 02:20
728x90

Express.Router

  • app.js가 길어지는 것을 막을 수 있다
  • userRouter의 get은 /user와 /가 합쳐져서 GET /user/가 된다

Route 매개변수

매개변수로 id를 받는 라우트

  • :id를 넣으면 req.params.id로 받을 수 있다
  • 동적으로 변하는 부분을 라우트 매개변수로 만든다
  • 일반 라우터보다 뒤에 위치해야 한다

404 미들웨어

마지막에 위치해야하는 404 미들웨어

  • 요청과 일치하는 라우터가 없는 경우를 대비해 404 라우터를 만들 수 있다
  • 이게 없으면 단순히 Cannot GET 주소라는 문자열이 표시된다

라우터 그룹화 하기

라우터 그룹화 하기

  • router.route로 묶는다

Req 객체 

  • req.app: req 객체를 통해 app 객체에 접근할 수 있습니다. req.app.get('port')와 같은 식으로 사용할 수 있습니다.
  • req.body: body-parser 미들웨어가 만드는 요청의 본문을 해석한 객체입니다.
  • req.cookies: cookie-parser 미들웨어가 만드는 요청의 쿠키를 해석한 객체입니다.
  • req.ip: 요청의 ip 주소가 담겨 있습니다.
  • req.params: 라우트 매개변수에 대한 정보가 담긴 객체입니다.
  • req.query: 쿼리 스트링에 대한 정보가 담긴 객체입니다.
  • req.signedCookies: 서명된 쿠키들은 req.cookies 대신 여기에 담겨 있습니다.
  • req.get(헤더 이름): 헤더의 값을 가져오고 싶을 때 사용하는 메서드입니다

Res 객체

  • res.app: req.app처럼 res 객체를 통해 app 객체에 접근할 수 있습니다.
  • res.cookie(키, 값, 옵션): 쿠키를 설정하는 메서드입니다.
  • res.clearCookie(키, 값, 옵션): 쿠키를 제거하는 메서드입니다.
  • res.end(): 데이터 없이 응답을 보냅니다.
  • res.json(JSON): JSON 형식의 응답을 보냅니다.
  • res.redirect(주소): 리다이렉트 할 주소와 함께 응답을 보냅니다.
  • res.render(뷰, 데이터): 다음 절에서 다룰 템플릿 엔진을 렌더링 해서 응답할 때 사용하는 메서드입니다.
  • res.send(데이터): 데이터와 함께 응답을 보냅니다. 데이터는 문자열일 수도 있고 HTML일 수도 있으며, 버퍼일 수도 있고 객체나 배열일 수도 있습니다.
  • res.sendFile(경로): 경로에 위치한 파일을 응답합니다.
  • res.setHeader(헤더, 값): 응답의 헤더를 설정합니다.
  • res.status(코드): 응답 시의 HTTP 상태 코드를 지정합니다..

Res는 응답을 한 번만 보내야 한다

 

728x90

'Node > 익스프레스 웹 서버 만들기' 카테고리의 다른 글

템플릿 엔진  (0) 2022.09.17
dotenv 사용하기  (0) 2022.09.10
멀티파트 데이터 형식  (0) 2022.09.10
static,express-session 미들웨어  (0) 2022.09.10
morgan, bodyParser, cookieParser 미들웨어  (0) 2022.09.09