nest.js request 라이프사이클

jegw·2023년 9월 5일
0

TIL

목록 보기
72/77
post-custom-banner

nest.js 서버에 request가 들어오고 response가 나가는 과정을 알아보자.

  • 지금까지 미들웨어, 가드, 컨트롤러, 파이프, 예외필터를 사용해보았지만 어떤 순서로 돌아가는지 완벽하게는 알지 못했다.

  1. 요청이 미들웨어를 거친다.
  2. 미들웨어를 지나고부터 예외필터 범위에 들어간다.
  3. 가드, 인터셉터, 파이프, 컨트롤러 순으로 지난다.
  4. 컨트롤러 이후 인터셉터를 한번 더 거친다
  5. 응답

사용해본 것

가드 - AuthGuard
파이프 - validationPipe(nest 빌트인(내장) 파이프)
미들웨어 - s3 업로드 미들웨어

의문

가져온 그림에서는 미들웨어를 exeception filter가 감싸고 있지 않다.
? 그러면 미들웨어의 에러는 처리하지 않는건가?
-> exeception filter는 모든 단계에서 작동한다고 한다.

validationPipe가 authguard에 가기 전에 Dto의 유효성 검사를 해줬다고 생각했는데 잘못 알고있었던 것 같다.

참고 https://dkrnfls.tistory.com/83, https://velog.io/@haron/NestJS-Lifecycle-Events

post-custom-banner

0개의 댓글