[Nest.js] Middleware vs pipes

Falcon·2023년 2월 3일
2

javascript

목록 보기
21/28
post-thumbnail

🎯 Goals

  • Middleware 를 언제 쓰는지 안다.
  • pipe 를 언제 쓰는지 안다.
  • Middleware 와 pipe 실행 순서를 안다.

Middleware

앱 전체에 횡단으로 적용된다.

When to use?

  • Authorization / Authentication
  • Logging
  • Validation

등에 쓰인다.

Pipe

Data processing 에 초점이 맞춰져있다.

When to use?

  • Type converting
  • Validation

What's special pipe?

Middleware 가 앱 전체에 적용된다면
Pipe는 다음과 같은 여러 적용범위를 갖는다.

  • Global Level (앱 전체)
  • Handler Level (컨트롤러 내의 특정 API)
  • Parameter Level (특정 파라미터)

실행순서

Middleware -> pipe -> controller 순으로 실행된다.

📝 결론

애플리케이션 전체에서 Cross-cutting 관심사를 가져야하는 경우에는 Middleware
특정 API, 파라미터 등에 적용될 데이터 처리가 필요할 때는 Pipe 를 사용한다.

profile
I'm still hungry

0개의 댓글