Skip to content

API 예외 처리에서 검증 오류를 400으로 분리 - #9

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
fix/ai-verified-patch-1785932143223
Open

API 예외 처리에서 검증 오류를 400으로 분리#9
github-actions[bot] wants to merge 1 commit into
mainfrom
fix/ai-verified-patch-1785932143223

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

개요

handleApiRequest()의 예외 처리 로직을 보강하여 검증 실패는 400 Bad Request, 예상치 못한 오류는 500 Internal Server Error로 구분합니다.

기술적 원인

기존 catch 블록은 아래 코드처럼 err.errors가 항상 존재한다고 가정했습니다.

const formattedDetails = err.errors.map(e => e.msg).join(', ');

그러나 현재 직접 발생시키는 ValidationError에는 errors 배열이 없기 때문에, 검증 실패를 처리하는 도중 TypeError가 추가로 발생할 수 있습니다. 또한 모든 실패를 500으로 고정 반환해 입력 오류도 서버 장애처럼 보였습니다.

수정 방향

  • err instanceof ValidationError로 검증 오류를 식별
  • 검증 오류는 400, 그 외는 500 반환
  • errors 배열이 존재할 때만 상세 메시지 생성
  • ValidationError 자체는 field: message 형태로 설명 제공

기대 효과

  • 잘못된 입력은 클라이언트 오류로 정확히 분류
  • 상세 메시지 생성 중 2차 예외 방지
  • 운영 관점에서 오류 유형 식별이 쉬워짐

참고

원본 문제 구간:

catch (err) {
  const formattedDetails = err.errors.map(e => e.msg).join(', ');

🔍 원본 에러 로그 및 발생 Context 보기
Issue #8 Title: 큰일남 서버 터짐

서버 리소스없어서 모든 서버에 있는 인스턴스 다 내려감

Authored by PikiLand Engine

@grabic1060 grabic1060 closed this Aug 7, 2026
@grabic1060 grabic1060 reopened this Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant