본문으로 건너뛰기
API 도구 기초집LESSON 14

오류 응답과 상태 코드 테스트

난이도입문 → 초급
예상 시간30분
선수지식이전 강의

14강. 오류 응답과 상태 코드 테스트

1. 이번 강의에서 해결할 문제

게임 기록·랭킹 API를 테스트하면서 의도적인 실패 요청으로 오류 상태와 JSON 형식을 검증하는 문제를 해결합니다. 수동으로 한 번 성공하는 데서 끝내지 않고 같은 결과를 다시 확인할 수 있는 요청으로 남깁니다.

2. 학습 목표

3. 핵심 개념

좋은 API는 성공뿐 아니라 오류도 일관된 계약을 가집니다. 400은 일반적인 잘못된 요청, 401은 인증 필요·실패, 403은 인증됐지만 권한 부족, 404는 리소스 없음, 409는 상태 충돌, 422는 입력 검증 실패에 주로 사용됩니다. 실제 API 계약이 우선이며 메시지 전문보다 안정적인 코드와 구조를 검증합니다.

4. 단계별 실습

실습 경로: C:\dev\game-ranking-api-tests

  1. 90 Error Cases에 누락 필드 422, 없는 ID 404, 중복 닉네임 409 요청을 저장합니다.
  2. 각 요청 이름에 기대 상태를 적습니다.
  3. 응답에 detail 또는 프로젝트 표준 error.code, error.message가 있는지 확인합니다.
  4. 내부 스택·SQL·파일 경로가 노출되지 않는지 검사합니다.
PowerShell
try {
Invoke-RestMethod -Uri "http://127.0.0.1:8000/players/999999"
} catch {
Write-Host "status:" $_.Exception.Response.StatusCode.value__
Write-Host "message:" $_.ErrorDetails.Message
}

Postman의 버튼·탭 이름은 버전에 따라 달라질 수 있습니다. 메뉴가 다르면 설치된 앱의 도움말과 Postman 공식 문서를 먼저 확인합니다.

5. 요청과 응답이 동작하는 이유

FastAPI는 라우팅과 Pydantic 검증 단계에서 표준 오류를 만들 수 있고, 애플리케이션 예외 처리기가 도메인 오류를 통일합니다. 클라이언트는 상태 코드로 큰 범주를, JSON 오류 코드로 세부 원인을 구분합니다.

6. 자주 하는 실수와 해결법

7. 직접 실습

8. 이해 점검 질문 3개

9. 핵심 요약

MINI QUIZ

오류 응답과 상태 코드 테스트 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“오류 응답과 상태 코드 테스트” 실습을 안전하게 진행하기 위한 판단으로 가장 알맞은 것은 무엇인가요?
  2. 문제 2“오류 응답과 상태 코드 테스트”에서 ‘500에 내부 정보가 보여도 방치함’ 문제가 생겼습니다. 가장 알맞은 진단 또는 대응은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

14강. 오류 응답과 상태 코드 테스트 미완료 상태