본문 바로가기

# 미사용

라우터 다루기

Route란?

특수한 요청을 그에 알맞은 응답 프로세스로 연결시키는 것.

구체적으로는 다음과 같은 과정이다.

  • 웹 서버에 요청이 전달된다. (GET or POST)
  • 어떤 경로에서 발생된 요청인지 파악한다.
  • 해당 경로를 처리하는 프로세스를 호출한다.

Router 미들웨어

익스프레스는 라우트 과정을 간편하고 가볍게 하기 위해 

다음과 같이 Router 미들웨어 객체를 지원한다.

   let express = require('express');

   let router   = express.Router();

미들웨어 객체를 생성한 뒤,

요청패스와 콜백을 라우터에 등록한다.

   router.route(요청패스).get(실행될함수);  // GET 방식으로 요청시

   router.route(요청패스).post(실행될함수);  // POST 방식으로 요청시

   router.route(요청패스).all(실행될함수);   // 모든 요청시

모든 요청패스와 콜백을 등록한 뒤,

익스프레스에 미들웨어로써 등록한다.

   let app = express();

   app.use('/', router);

URL 파라미터

URL 경로의 일부분을 파라미터로써 사용할 수 있다.

   router.route('/process/login/:userName') ...

위 처럼 라우터에 등록하고 /process/login/aerolabs 처럼 요청하면,

:userName에 대응하는 부분(위에서는 aerolabs)가 req.params의 멤버로써 저장된다.


즉, 다음과 같이 요약된다.

   router.route('/process/login/:userName) ...

   

   /process/login/aerolabs

   req.params.userName == aerolabs

오류 페이지

등록되지 않은 경로에 대한 요청을 직접 처리하려면

맨 하단에 애스터리스크 경로로 라우터에 등록한다.

   router.all('*', (req, res)=>

   {

        res.status(404).send('<h1>페이지를 찾을 수 없습니다.</h1>');

   });

미들웨어는 등록된 순서대로 요청을 처리하기 때문에,

반드시 최하단에 등록해야 한다.


'# 미사용' 카테고리의 다른 글

파일 업로드하기  (0) 2018.02.26
쿠키 세션 다루기  (0) 2018.02.25
익스프레스 알아보기  (0) 2018.02.23
Chrome Headless Driver  (0) 2018.02.12
웹서버 시작하기  (0) 2018.02.12