Routing, MiddleWare

김진수·2021년 2월 11일
0

Express

목록 보기
3/4
post-thumbnail

Router

라우팅은 URI(또는 경로) 및 특정한 HTTP 요청 메소드(GET, POST 등)인 특정 엔드포인트에 대한 클라이언트 요청에 애플리케이션이 응답하는 방법을 결정하는 것을 말한다.
우리가 익스프레스를 사용하는 이유 중 하나도 익스프레스를 이용하면 라우팅을 깔끔하게 해주기 때문이다

MiddleWare

미들웨어란 클라이언트에게 온 요청을 보내기 위해 응답하려는 중간에 목적에 맞게 처리를 하는 것이다.
express 프레임워크 내에서는 중간 처리 목적의 소프트웨어이다.
미들웨어는 코드에 적힌 순서대로 실행되며 다음 미들웨어를 실행시키기 위해서는 next()를 사용하여 순차적 처리를 실행한다.

app.js

app.use는 익스프레스 앱이 사용할 미들웨어들을 명시할 수 있다.
여기서 app.use()에 admin을 사용한다고 명시해 놓았다. /admin요청이 들어오면 admin라우터를 호출한다.

여기서 위처럼 use()메소드가 아닌 HTTP의 메소드(GET, POST, PUT, DELETE)들을 사용하여 각 HTTP 메소드에 대한 요청 처리를 할 수 있다.

Routes 살펴보기

routes/admin.js

  1. express.Router()로 router 객체를 만들었다.
  2. 이제 router로 HTTP 메소드들에 대한 요청을 처리할 수 있다.
  3. 이 라우터는 '/'로 들어오는 get요청에 대한 처리를 정의해 놓았다.
  4. Middleware인 testMiddleware, testMiddleware2순으로 먼저 처리되고, 사용자가 보낸 요청에 대한 처리가 실행된다.
  5. 콜백함수를 통해 요청(req), 응답(res) 객체를 사용할 수 있다.

next()

위와 같이 현재의 미들웨어에서 다음 미들웨어로 넘어갈 때, next()메소드를 사용한다. 보시면 testMiddleware에서 next()를 통해 다음 미들웨어인 testMiddleware2로 넘어가는 것을 볼 수 있습니다.

profile
백엔드 개발자

0개의 댓글