개념

<aside> 🍎 라우트 핸들러 이전에 호출되는 함수

</aside>

Untitled

역할

<aside> 🍎 1. 어떤 코드든 실행 2. 요청(Request)이나 응답(Response) 객체에 대한 변경 3. 요청-응답 사이클(Request-Response Cycle)을 종료 4. 스택에 있는 다음 미들웨어 함수를 호출 5. 현재 미들웨어 함수가 요청-응답 사이클을 종료하지 않으면, 다음 미들웨어 함수에게 통제권을 넘겨주기 위해서 next() 를 호출. 그렇지 않으면 요청이 행(hang) 걸림.

</aside>

구현 방법

<aside> 🍎 @Injectable() 데코레이터를 이용하여 함수나 클래스 안에 구현

  1. 클래스: NestMiddleware 인터페이스를 구현해야 함
  2. 함수: 특별한 요구 사항 없음

</aside>

의존성 주입

미들웨어 적용

<aside> 🍎 @Module() 데코레이터가 아닌 configure() 메서드를 사용하여 적용

</aside>