🎯 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 를 사용한다.