Skip to content

Latest commit

 

History

History
20 lines (13 loc) · 914 Bytes

intercepeter.md

File metadata and controls

20 lines (13 loc) · 914 Bytes

인터셉터

AOP(관점 지향 프로그래밍) 기술에 영감을 받아 만들어진 기능이다.

사용 이유

  • 메소드 실행 전/후에 추가적인 로직을 적용해야 할 때
  • 함수에서 반환된 결과값을 변형하고 싶을 때
  • 함수에서 발생한 예외를 변형하고 싶을 때
  • 기본적인 함수의 기능을 확장하고 싶을 때
  • 조건에 따라 함수를 오버라이딩 하고 싶을 때 (캐싱)

특징

Nest.js에서 인터셉터를 구현할 때는 NestIntercepetor를 implement 받아 구현해야 한다.

미들웨어와 인터셉터의 차이점

  • 인터셉터는 경로 핸들러가 호출되기 전후로 요청, 응답을 조작할 수 있다.
  • 미들웨어는 경로 핸들러가 호출되기 전에만 호출된다. 요청, 응답의 조작이 가능하지만 컨트롤러에서 반환되는 응답에 대해서는 조작할 수 없다.