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 하게 됩니다.
'코딩공부 > 개발지식' 카테고리의 다른 글
Part 1. 전산기초 (0) | 2023.09.08 |
---|---|
[7회] Call by value vs Call by reference / DDD vs MSA (0) | 2023.05.25 |
[6회] 자료구조 & 알고리즘 / 주소창에 “www.google.com” 쳤을때 일어나는 일 (0) | 2023.05.23 |
[5회] TypeORM & Query builder / JWT & 세션 & 쿠키 (0) | 2023.05.22 |
[25회 - 데일리과제] Redis & Memcached / XSS & CSRF (0) | 2023.05.18 |