빠른 참조

RESTful API 치트시트

RESTful API 빠른 참조 가이드: HTTP 메서드 의미론, 상태 코드 규칙, JSON 오류 응답 구조, 헤더 및 멱등성 정리.

· 게시일

REST(Representational State Transfer)는 HTTP 위에서 네트워크로 연결된 웹 API 서비스를 설계하기 위한 아키텍처 스타일입니다.

HTTP 메서드 및 의미론

메서드 대상 작업 안전 멱등성
GET 리소스 표현 조회 예 예
POST 새 하위 리소스 생성 아니오 아니오
PUT 리소스 표현 전체 교체 아니오 예
PATCH 리소스 속성 부분 업데이트 아니오 아니오
DELETE 리소스 삭제 아니오 예
HEAD 응답 본문 없이 헤더만 조회 예 예
OPTIONS 엔드포인트에서 지원하는 HTTP 메서드 조회 예 예

주요 HTTP 응답 상태 코드

성공 (2xx)

  • 200 OK: 요청 성공 (응답 본문에 표현이 포함됨).
  • 201 Created: 리소스가 성공적으로 생성됨 (Location 헤더가 URI를 나타냄).
  • 202 Accepted: 비동기 처리를 위해 요청이 수락됨.
  • 204 No Content: 작업 성공, 반환되는 응답 본문 없음 (DELETE에서 흔히 사용).

클라이언트 오류 (4xx)

  • 400 Bad Request: 잘못된 구문, 유효하지 않은 매개변수 또는 유효성 검사 실패.
  • 401 Unauthorized: 인증 정보가 누락되었거나 유효하지 않음.
  • 403 Forbidden: 인증되었으나 리소스에 접근할 권한이 없음.
  • 404 Not Found: 리소스 URI가 존재하지 않음.
  • 409 Conflict: 요청이 현재 리소스 상태와 충돌함 (예: 고유 키 중복).
  • 422 Unprocessable Entity: 구문은 올바르나 의미론적 도메인 유효성 검사에 실패함.
  • 429 Too Many Requests: 요청 속도 제한(Rate Limit) 초과.

서버 오류 (5xx)

  • 500 Internal Server Error: 서버 측에서 처리되지 않은 일반 오류.
  • 502 Bad Gateway: 업스트림 서버가 유효하지 않은 응답을 반환함.
  • 503 Service Unavailable: 서버가 과부하 상태이거나 점검 중임.

표준 JSON 오류 응답 형식

{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "The email address provided is already registered.",
    "details": [
      {
        "field": "email",
        "issue": "unique_constraint_violated"
      }
    ]
  }
}

참고 자료

관련 주제