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에 기록
'Study' 카테고리의 다른 글
| 인형뽑기, 진짜 실력 게임일까? 아니면 조작된 운빨 게임? (0) | 2025.07.12 |
|---|---|
| 나도 젊어질 수 있을까? 역노화 산업, 진짜로 어디까지 왔나? (0) | 2025.06.29 |
| 무료 목업 도구 Shots.so로 전문적인 디자인 만들기 (0) | 2025.06.26 |
| 호르무즈 해협이 뭐길래? 폭 39km 해협 하나가 세계 경제를 흔드는 이유 (0) | 2025.06.25 |
| 법률용어, 기피신청·각하·기각·인용·예단·이해상충 (0) | 2025.06.23 |