그렇다면 API는 어떻게 만들어질까요? 키오스크에 메뉴판이 있는 것처럼 프런트엔드에서 백엔드로 요청할 수 있는 기능과 요청 방법을 정리한 API 명세서를 작성해 만듭니다.
키오스크의 메뉴판에 ‘국밥 8,000원’, ‘칼국수 6,500원’ 등이 적혀 있듯이 API 명세서에는 ‘상품 목록 보기’, ‘장바구니 담기’ 등의 기능이 정리돼 있습니다. 또한 ‘국밥 곱빼기’, ‘2개’처럼 옵션과 수량을 선택하는 방법이 정해져 있듯이 API 명세서에도 각 기능을 요청하는 방법이 담겨 있습니다.
키오스크와 API를 비교하면 다음과 같이 나타낼 수 있습니다.
• 키오스크의 메뉴판 = API 명세서
• 키오스크의 버튼 누르기 = API 요청
• 음식 제공 = API 응답
API 명세서에는 입력과 출력만 작성하고 세부 처리 과정은 작성하지 않습니다. 이는 손님이 키오스크로 주문할 때 어떤 과정을 거쳐 음식이 만들어지는지 몰라도 되는 것과 같습니다. 중요한 것은 주문하고 음식을 받는 것이며, 주문 파악→요리→음식 전달의 모든 과정을 주방에서 책임지고 수행합니다. API 명세서도 입력(요청 방법)과 출력(응답 결과)만 정의돼 있고 처리는 백엔드가 알아서 수행합니다.