목록 보기
IllegalArgumentException은 400 Bad Request인가?
백엔드

IllegalArgumentException은 400 Bad Request인가?

우아한 형제들
우아한 형제들
2025년 5월 13일

두줄요약

IllegalArgumentException을 무조건 400으로 매핑하면 서버 오류를 클라이언트 문제로 오인할 수 있습니다. 명백한 클라이언트 오류는 커스텀 예외로 분리해 4xx와 5xx를 구분하는 것이 좋습니다.

핵심 내용

  • 4xx는 클라이언트 오류, 5xx는 서버 오류로 구분해야 하는 이유 정리
  • IllegalArgumentException은 클라이언트 입력 오류뿐 아니라 서버 내부 버그로도 발생 가능
  • 범용 예외를 400으로 고정 매핑하면 장애 원인 파악과 운영 대응이 늦어질 수 있음

선택 이유

  • 400이 필요한 경우에는 BusinessException 같은 커스텀 예외를 정의해 명확히 구분
  • 커스텀 예외와 하위 예외를 400으로 매핑해 비즈니스 오류를 표현

적용해볼 점

  • 예측 불가 예외는 500으로 두고, 명백한 클라이언트 오류만 4xx로 분리
  • 모니터링 관점에서 4xx 오탐과 5xx 누락을 줄이는 상태 코드 전략 수립

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...