티스토리 뷰
nestJS 공식문서 request lifecycle.
미들웨어는 라우터 핸들러보다 먼저 호출되는 함수(미들웨어 말고도 몇 개 있지만..)
Nest의 미들웨어는 express에서 설명하는 미들웨어와 동일하다.
Nest 미들웨어는 클래스와 @Injectable데코레이터 를 사용해서 구현할 수 있다.
클래스는 NestMeddleware 인터페이스로 구현한다.
이 미들웨어를 사용하고자 하는 모듈에서 의존성주입을 한다.
하지만 @Module에는 미들웨어를 위한 자리가 따로 없다. 그래서 모듈클래스의 configure() 메서드를 사용해야 한다.
미들웨어를 포함하는 모듈은 NestModule 인터페이스를 구현해야한다.
forRoutes() 내부에서 어떤 라우터로 이 미들웨어를 제한할 것인지,
어떤 RESTapi 메서드로 제한할 것인지 설정할 수 있다.
공식문서의 예를 보면
이렇게 설정한다.
이 외에도 하나의 consumer에 여러 미들웨어를 연결하는 방법
미들웨어에서 특정 라우트를 제외시키는 방법 등이 공식문서에 나와있다.
https://docs.nestjs.com/middleware
Documentation | NestJS - A progressive Node.js framework
Nest is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with TypeScript and combines elements of OOP (Object Oriented Progamming), FP (Functional Programming), and FRP (Functional Reac
docs.nestjs.com
'nodeJS' 카테고리의 다른 글
[nestJS]배열의 비동기처리 병렬적으로 실행하기 (0) | 2023.01.08 |
---|---|
[nestJS]class-validator 특수문자 포함여부 유효성검사 (0) | 2023.01.05 |
JSON이란? 두번째 글(서버와 클라이언트의 데이터 교환) (0) | 2022.02.21 |
관련있는 Object를 서로 연결시켜주기. populate() - 2 (0) | 2022.02.16 |
관련있는 Object를 서로 연결시켜주기. populate() - 1 (0) | 2022.02.16 |