Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

레커

Interceptor 본문

개발/TIL

Interceptor

Prism Wrecker 2024. 1. 19. 02:24

What is NestJS Interceptor?

NestJS Interceptor는 request와 response시에 중간에서 값을 Intercept 한 뒤, 보내는 역할을 합니다.

Interceptor는 추가적인 로직이 필요한 경우 사용합니다.

Interceptor를 쓰는 대표적 케이스가 Logger입니다.

Logger의 경우 request에 대한 정보, response에 대한 정보를 logging을 해야 하기에 Interceptor로 구현할 수 있습니다..

 

Observable

Observable은 event가 흐르는 stream입니다. Observable은 누군가 구독(subscribe)을 해야 event를 발행(publish) 합니다. Observer가 Observable을 구독하면서 next, error, complete 키워드를 사용해 Observable에 흐르는 event를 처리합니다.

Operator

Operator는 Observable에서 각 이벤트들에 대해 연산을 할 수 있는 pure function입니다. 앞서 언급한 것처럼, RxJS는 함수형 프로그래밍에 영향을 많이 받아 이러한 pure function들이 많이 존재합니다. 대표적으로 tap(), filter(), min(), max()와 같은 operator가 존재합니다. 여기서 tab()은 Observable 중간의 값을 가져오는 함수입니다.

Observer

Observer는 Observable을 구독하는 대상입니다. Observer를 정의하고 next, error, complete 세 가지를 정의해 주고 Observable에 구독을 하면 완성입니다. next는 Observable에 들어오는 event를 처리합니다. error는 Observable에서 error가 발생했을 때 event를 처리해 줍니다. complete는 없어도 되는 옵션인데요. Observable이 종료되면 complete가 호출되게 됩니다. 마지막으로 Observable을 Observer가 구독하면 됩니다.


참고

https://blog-ko.superb-ai.com/nestjs-interceptor-and-lifecycle/

'개발 > TIL' 카테고리의 다른 글

Rate limit_nest.js  (0) 2024.01.24
Nest.js Passport-kakao  (0) 2024.01.22
CORS  (0) 2024.01.19
Container  (0) 2024.01.17
NoSQL과 RDBMS의 특징과 차이점/Primary Key, Foreign Key  (0) 2024.01.16