본문 바로가기

Study

API 쉽게 이해하기: 치킨 주문부터 서버까지의 여정

API??

API는 Application Programming Interface의 줄임말이야.
근데 이렇게 말하면 솔직히 머리 아프지? 쉽게 말하면, 우리가 치킨집에 전화를 걸어서 주문하는 것과 똑같아.

  • 너(사용자): "치킨 한 마리 주세요!"
  • 전화(= API): 주문 내용을 치킨집(서버)에 전달
  • 치킨집(서버): 주문을 받고 요리 시작

치킨집이 주문을 받고, 치킨을 만들어서 배달(응답)해주는 전체 과정! 이게 바로 API의 역할이야.

🟢 용어 정리

  • API: 두 프로그램이 서로 대화하게 해주는 통로
  • 사용자: 실제 요청을 하는 사람 (너!)
  • 서버: 주문 받고 처리하는 주방

주문 버튼 클릭 = API 호출

앱에서 "치킨 주문하기" 버튼을 누르면, 프론트엔드(앱 화면)가 네 주문을 감지하고 API 요청을 만들어.

fetch('http://치킨집.com/api/order', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    menu: '양념치킨',
    quantity: 1,
    address: '서울시 행복구 맛동네'
  })
})

🟢 용어 정리

  • 프론트엔드: 사용자 눈에 보이는 앱/웹 화면
  • HTTP 요청: 인터넷상에서 보내는 주문서 같은 것
  • JSON: 메뉴나 주소 같은 내용을 담는 간단한 데이터 형식

 

 주문서가 치킨집으로 전달 (서버로 전송)

너의 주문서는 인터넷을 타고 치킨집(서버)에 도착해.
치킨집은 "이 손님이 양념치킨 한 마리를 원하네!"라고 확인하고 조리를 시작하지.

🟢 용어 정리

  • 서버: 요청을 받고 처리하는 컴퓨터 시스템
  • 요청 메서드: 주문의 종류 (POST는 새 주문, GET은 메뉴 보기 등)

 

서버가 주문 처리

치킨집은 주문서를 보고 양념치킨을 튀기고, 포장 준비까지 완료!

@PostMapping("/api/order")
public ResponseEntity placeOrder(@RequestBody Order order) {
    if (validate(order)) {
        Order savedOrder = orderService.save(order);
        return ResponseEntity.status(201).body(savedOrder);
    }
    return ResponseEntity.badRequest().build();
}

🟢 용어 정리

  • 데이터 검증: 주문서가 올바른지 확인하는 과정
  • DB 저장: 주문 내역을 기록하는 작업

주문 내역을 데이터베이스에 저장

치킨집은 손님 주문 정보를 장부(DB)에 기록해.
예를 들어, "홍길동, 양념치킨 1마리, 서울시 행복구" 이런 식으로.

🟢 용어 정리

  • 데이터베이스(DB): 주문 내역을 저장하는 기록장
  • SQL: 데이터베이스에 명령을 내리는 언어

서버가 배달 응답 보내기

치킨집이 "주문 완료! 곧 배달 갑니다"라고 알려주는 단계.
앱에는 이런 메시지가 도착해.

{
  "status": "success",
  "message": "주문이 완료되었습니다!",
  "orderId": 123
}

🟢 용어 정리

  • 응답(Response): 서버가 보내주는 최종 메시지
  • 상태 코드: 200(성공), 404(못 찾음), 500(서버 문제)

프론트엔드가 응답 처리

앱은 "주문 완료!" 메시지를 받고, 화면에 배달 예상 시간을 띄우거나 환영 메시지를 보여줘.

.then(response => response.json())
.then(data => {
    if (data.status === 'success') {
        alert('치킨이 곧 도착합니다!');
    }
})
.catch(error => {
    alert('주문 실패! 다시 시도해보세요.');
});

🟢 용어 정리

  • 응답 처리: 받은 내용을 화면에 보여주는 과정

마지막으로 사용자가 결과 확인

네 화면에 "주문 완료! 치킨이 오고 있어요~" 이런 문구가 딱 뜨는 거야.
처음 버튼 클릭부터 최종 화면까지, 이게 바로 API를 통한 전체 여정이야.

 

보이지 않는 배달기사

내가 봤을 때 API는 진짜 보이지 않는 배달 기사 같아.
우리가 치킨 시킬 때는 한 번 클릭이면 끝나지만, 그 안에서는 서버, DB, 응답 처리 등 엄청 복잡한 일들이 동시에 일어나고 있지.

특히 요즘처럼 모바일 서비스, AI 서비스, SaaS 플랫폼 등이 늘어나는 시대에 좋은 API 설계가 사용자 경험을 좌우한다고 생각해.

 

핵심 요약

  • API는 프로그램끼리 대화하는 중개자!
  • 사용자의 한 번 클릭 = 서버까지 가는 복잡한 여정
  • 응답은 항상 JSON으로 깔끔하게 전달
  • 상태 코드를 통해 성공/실패를 확인
  • 서버는 주문을 처리하고 DB에 기록