filter scope
예외 필터 적용 범위
예외 필터는 전역, 컨트롤러, 메서드 단위로 적용할 수 있다. 넓게 걸수록 일관성은 커지고, 좁게 걸수록 특수 응답을 만들기 쉽다.
선택 기준: 공통 규격은 전역, 특수 규칙은 좁게범위를 먼저 정해야 충돌이 줄어든다.
범위 결정 순서
1전체 오류 계약
서비스 전체가 공유할 응답 규격을 먼저 정한다.
2리소스별 코드
한 리소스 그룹만 다르면 컨트롤러 범위를 검토한다.
3단일 엔드포인트
한 라우트만 다르면 메서드 범위로 제한한다.
적용 범위별 사용 기준
| 범위 | 적용 방법 | 적합한 상황 |
|---|---|---|
| 전역 | app.useGlobalFilters() | 모든 API 오류 응답 형식을 통일한다. |
| 컨트롤러 | @UseFilters() on controller | 한 리소스 그룹의 오류 문맥이 다르다. |
| 메서드 | @UseFilters() on handler | 특정 라우트만 특별한 오류 포맷이 필요하다. |
핵심: 필터 범위는 누가 같은 응답 계약을 공유하는가라는 질문으로 결정한다.