728x90
반응형

1. Nest.js 라이프사이클에 대해 설명해주세요.

💘 NestJS는 Node.js를 위한 프레임워크로, 서버 사이드 애플리케이션 개발을 위해 사용됩니다.

기본적인 순서는 다음과 같습니다.

Middleware => Guards => Pre-Interceptors => Pipes => Controller => Service => Post-Interceptors => ExceptionFilter => Response

1. Middleware

전역으로 바인딩 되어있는 미들웨어를 가장먼저 실행 합니다. (main.ts 에 app.use로 바인딩 되어있는 미들웨어들)

Express와 비슷한 방식으로 바인딩 된 순서대로 순차적으로 실행 됩니다.

2. Guards

사용자의 권한을 체크하는 로직이 들어간다 예를들어 jwt를 사용한다면 @UseGuards()를 통해 jwt의 값이 유효한지 검사 할 수 있습니다.

3. Interceptor

인터셉터는 컨트롤러에 접근하기 전, 후에서 바인딩 시킬 수 있습니다.

컨트롤러에 전에 접근하기 전에 사용하려면 return 전에 사용을하면 되고 컨트롤러 접근후에 사용하려면 return 문에서 사용하면 됩니다.

4. Pipes

요청이 들어오는 파라미터의 validation 혹은 형변환이 필요할 때 파이프에서 진행 합니다.

5. Controller

routing ,http method, Request에 담긴 페이로드, Response에 담을 페이로드를 Controller에서 관리할 수 있습니다.

6. Service

실제 비지니스 로직을 Service 단 에서 관리 할 수 있습니다.

7. ExceptionFilter

익셉션 필터는 로직을 처리하다가 오류가 발생 하면 HttpException을 throw 하게 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형

+ Recent posts