← 질문 목록
#133깊이 0
예외를 어디서 HTTP 응답으로 바꾸는가?
컨트롤러 경계의 전역 예외 처리기에서 바꾼다. 도메인 예외를 안정된 오류 코드와 HTTP 상태로 매핑하고 예상 밖 예외는 500으로 감춘다.
- 서비스
그다음은 처리기입니다. 의미 있는 예외를 전달한다
처리기그다음은 오류 계약입니다. 상태와 코드를 매핑한다
오류 계약그다음은 클라이언트입니다. 일관된 응답을 반환한다
클라이언트
예상 가능한 실패는 의미가 드러나는 예외로 표현한다. 저장소 예외나 구현 메시지를 그대로 노출하면 API가 내부 기술에 묶인다.
처리기는 구체적인 예외부터 매핑한다. 필터에서 발생한 예외는 컨트롤러 처리기에 도달하지 않으므로 별도 경계가 필요하다.
로그는 한 경계에서 한 번 남긴다. 응답에는 추적 ID와 안정된 코드를 싣고 스택 트레이스와 민감한 메시지는 숨긴다.