API란?

heeyoung_1023·2026년 3월 6일
API = Application Programming Interface
    = 프로그램끼리 대화하는 창구

🍔 식당으로 비유하면

손님 (클라이언트)
   ↓ 주문
웨이터 (API)        ← API가 이 역할!
   ↓ 전달
주방 (서버/DB)
   ↓ 음식
웨이터 (API)
   ↓ 서빙
손님 (클라이언트)

손님은 주방에 직접 못 들어가고 웨이터를 통해서만 주문하듯이, 클라이언트는 API를 통해서만 서버에 요청해요!


📱 실생활 예시

카카오 로그인 버튼 클릭
      ↓
카카오 API 호출
      ↓
카카오 서버에서 인증
      ↓
로그인 완료

날씨 앱
      ↓
기상청 API 호출
      ↓
기상청 서버에서 날씨 데이터
      ↓
앱에 날씨 표시

🔄 API 요청/응답 구조

요청 (Request)
──────────────
GET /todo/list/     ← 이 URL로 요청
    ↓
서버에서 처리
    ↓
응답 (Response)
──────────────
{
  "todos": [
    {"id": 1, "name": "공부하기"},
    {"id": 2, "name": "운동하기"}
  ]
}                   ← JSON 형태로 응답

📋 API 요청 종류 (HTTP Method)

메서드의미예시
GET데이터 조회할일 목록 보기
POST데이터 생성새 할일 추가
PUT데이터 전체 수정할일 전체 변경
PATCH데이터 일부 수정완료 여부만 변경
DELETE데이터 삭제할일 삭제

🆚 일반 Django vs DRF(API)

일반 Django                DRF (API)
─────────────────────────────────────
HTML 페이지 반환    →     JSON 데이터 반환
브라우저만 사용     →     앱, 웹 어디서든 사용
화면+데이터 같이    →     데이터만 주고받음

💡 Todo 프로젝트에서 API 예시

GET    /todo/list/      → 할일 전체 조회
POST   /todo/create/    → 새 할일 생성
PATCH  /todo/1/update/  → 1번 할일 수정
DELETE /todo/1/delete/  → 1번 할일 삭제

쉽게 말해 "프로그램끼리 데이터를 주고받는 약속된 방법" 이에요! 😊

profile
개발언어를 배우는 과정 기록

0개의 댓글