APP DEVELOPMENT TERM
API
앱과 서버를 연결하는 약속
API는 앱, 서버와 외부 서비스가 어떤 정보를 어떤 형식으로 요청하고 어떤 결과를 돌려줄지 미리 정한 연결 약속입니다.
30초 이해
API는 기능 자체가 아니라 서로 요청하고 답하는 방법을 정한 약속입니다
사용자가 예약 버튼을 누르면 앱 화면만 바뀌는 것이 아닙니다. 앱은 서버에 예약 정보를 보내고, 서버는 로그인·남은 자리·중복 신청 같은 조건을 확인한 뒤 저장 결과를 다시 앱에 알려줍니다. 이때 요청과 응답의 이름, 필요한 정보와 결과 형식을 정한 약속이 API입니다.
API를 이해할 때는 어려운 주소나 개발 문법보다 “누가 무엇을 요청하고, 어디서 어떤 조건을 확인하며, 성공과 실패를 어떻게 알려주는가”를 먼저 보면 됩니다. 이 흐름이 분명해야 앱 화면, 서버 데이터와 운영자의 업무가 같은 상태로 움직입니다.
언제 사용하는 개념인가요?
앱과 서버를 연결할 때
로그인, 예약, 주문처럼 앱에서 시작한 행동을 서버가 확인하고 저장하도록 연결할 때 사용합니다.
외부 서비스를 이용할 때
결제, 지도, 문자, 소셜 로그인처럼 다른 회사의 기능이나 데이터를 서비스에 연결할 때 사용합니다.
오류와 재시도를 정할 때
응답이 늦거나 연결이 끊겼을 때 다시 시도할지, 사용자와 운영자에게 무엇을 안내할지 정할 때 확인합니다.
왜 중요한가요?
화면과 데이터의 역할이 분명해집니다
앱은 입력과 결과 안내를, 서버는 권한·조건 확인과 저장을 담당하도록 역할을 나눌 수 있습니다.
여러 화면이 같은 결과를 볼 수 있습니다
고객 앱, 관리자 화면과 다른 기기가 같은 API 규칙을 사용하면 예약 상태와 변경 결과를 일관되게 보여줄 수 있습니다.
실패했을 때 복구 기준을 만들 수 있습니다
성공뿐 아니라 입력 오류, 권한 없음, 중복 요청과 외부 서비스 장애를 구분해 다음 행동을 안내할 수 있습니다.
실제 상황 예시
동네 클래스 예약 API를 만든다면
수강생이 수업을 선택해 예약 버튼을 눌렀을 때 앱이 보내야 할 정보와 서버가 돌려줄 결과를 나눠볼 수 있습니다.
앱이 서버에 보내는 요청
- 누가 요청했는지 확인할 로그인 정보
- 선택한 수업과 날짜·시간
- 중복 처리를 막기 위한 요청 번호
- 사용자가 동의한 결제·예약 조건
서버가 앱에 돌려주는 응답
- 완료된 예약 번호와 현재 상태
- 남은 자리 부족 등 실패한 이유
- 입력 수정·다시 시도처럼 이어서 할 행동
- 같은 요청을 다시 보냈을 때 기존 처리 결과
앱이 “예약 실패”라고만 보여주면 사용자는 무엇을 해야 할지 알 수 없습니다. API가 처리 상태와 이유, 다음 행동을 구분해 돌려줘야 화면과 운영자가 같은 결과를 설명할 수 있습니다.
자주 하는 오해
“API는 서버와 같은 말이다”
API는 서버 자체가 아니라 앱과 서버가 대화하는 규칙입니다. 하나의 서버가 로그인·예약·결제처럼 여러 API를 제공할 수 있습니다.
“API를 연결하면 정보가 항상 실시간이다”
데이터 갱신 시점, 호출 주기와 외부 서비스의 처리 방식에 따라 다릅니다. 최신 상태가 필요한 순간과 허용할 지연을 따로 정해야 합니다.
“오류 응답은 모두 실패로 보여주면 된다”
입력 수정, 권한 확인, 잠시 후 재시도와 운영자 확인은 서로 다른 행동이 필요합니다. 사용자가 해결할 수 있는 정보까지 구분해야 합니다.
우리 서비스에 적용할 때 확인하세요
- 1사용자의 어떤 행동이 API 요청을 시작하나요?
- 2요청에 꼭 필요한 정보와 로그인·권한 확인 기준은 무엇인가요?
- 3성공 결과와 실패 이유를 앱에서 어떻게 구분해 보여주나요?
- 4응답 지연, 연결 끊김과 빠른 두 번 누르기를 어떻게 처리하나요?
- 5결제·문자 같은 외부 서비스가 멈추면 사용자와 운영자가 상태를 확인할 수 있나요?
다음 자료
이해한 내용을 바로 적용해보세요
앱·서버·데이터베이스의 전체 역할을 살펴보고, 실패와 중복 요청의 처리 기준, 실제 데이터 연동 사례를 이어서 확인할 수 있습니다.
앱 뒤에서 움직이는 데이터 흐름을 직접 확인해보세요
사용자의 행동이 서버 확인, 데이터 저장과 관리자 업무로 이어지는 과정을 실제 예시로 살펴볼 수 있습니다.
