Interceptor
- 의미 : 가로채는 사람, 가로채는 것을 의미한다.
사용자의 요청이 컨트롤러에 가기 전에 가로채고, 서버의 응답이 사용자에게 가기 전에 가로챈다.

NestJS interceptor
<aside>
💡 Request와 Response에 중간에 있으면서 요청과 응답을 가로채는 역할을 맡는게 Interceptor!
</aside>
NestJS에서 Interceptor는 RxJS라는 라이브러리를 사용하기 때문에, 이것부터 먼저 알아야 한다.
RxJS
- 이벤트 스트림을 다루는 라이브러리. (Reactive Extensions For JavaScript)
- 유저의 액션에 따른 이벤트 값, API 응답 결과 등 비동기적 값들이 들어올 수 있고, 이를 operator를 이용해 변환합니다. RxJS는 함수형, 이벤트 그리고 비동기 프로그래밍에 영향을 받아 만들어졌다.
RxJS에 대한 간단한 정리 내용
RxJS 간단정리
- RxJS는 여러 개념이 있지만, 크게 4가지만 설명한다.
Observable
- Observable은 event가 흐르는 stream입니다. Observable은 누군가 구독(subscribe)을 해야 event를 발행(publish) 합니다. Observer가 Observable을 구독하면서 next, error, complete 키워드를 사용해 Observable에 흐르는 event를 처리합니다.