APP DEVELOPMENT TERM
REST API
자원 중심으로 설계하는 웹 연결 방식
REST API는 회원·예약·상품 같은 대상을 주소로 구분하고 HTTP의 요청 방식을 활용해 조회·생성·수정·삭제를 표현하는 웹 API 설계 방식입니다.
30초 이해
REST API는 기능 이름을 늘어놓기보다 다룰 대상과 그 대상에 할 행동을 일관된 주소와 요청으로 표현합니다
앱이 예약 목록을 보거나 새 예약을 만들 때 서버와 정해진 약속으로 통신합니다. REST 방식에서는 예약이라는 대상을 주소로 나타내고 조회·생성·수정·삭제 같은 행동을 HTTP 메서드와 응답 상태로 구분합니다.
REST는 제품명이나 통신 규격 하나가 아니라 웹의 특성을 활용하는 설계 원칙입니다. HTTP로 JSON을 주고받는다고 모두 같은 수준의 REST API가 되는 것은 아니며, 프로젝트가 이해하기 쉬운 주소·응답·오류 규칙을 일관되게 정했는지가 더 중요합니다.
한 장으로 이해
앱이 REST API로 예약 정보를 주고받는 과정
다룰 대상을 주소로 찾고 원하는 행동을 요청한 뒤 서버가 처리 결과와 상태를 표현해 돌려줍니다.
- 01
대상 주소
예약·회원·상품처럼 다룰 자원을 주소로 구분합니다.
- 02
행동 요청
조회·생성·수정·삭제 목적에 맞는 HTTP 메서드를 보냅니다.
- 03
서버 처리
권한과 입력을 확인하고 업무 규칙에 따라 데이터를 처리합니다.
- 04
결과 표현
상태 코드와 JSON 등으로 성공·실패 결과를 돌려줍니다.
좋은 REST API는 주소가 그럴듯한 API가 아니라 앱과 서버가 같은 규칙으로 예측하고 오류까지 처리할 수 있는 API입니다.
언제 사용하는 개념인가요?
앱과 서버를 연결할 때
화면에서 필요한 회원·예약·결제 데이터를 조회하고 변경할 요청 규칙을 정합니다.
외부 서비스를 제공할 때
파트너나 다른 시스템이 사용할 주소, 권한, 입력과 응답 형식을 문서화합니다.
연동 오류를 검수할 때
요청 주소·메서드·입력·상태 코드와 재시도 가능 여부를 함께 확인합니다.
왜 중요한가요?
연결 규칙을 예측하기 쉬워집니다
비슷한 대상과 행동을 일관된 방식으로 표현하면 새 기능을 이해하고 수정하기 쉬워집니다.
성공과 실패를 분명히 구분합니다
상태 코드와 오류 응답 기준을 정하면 앱이 사용자에게 맞는 안내와 다음 행동을 보여줄 수 있습니다.
권한과 변경 범위를 점검하게 합니다
각 주소에서 누가 어떤 데이터를 읽고 바꿀 수 있는지 요청 단위로 확인할 수 있습니다.
실제 상황 예시
클래스 예약 REST API를 만든다면
수업과 예약을 별도 대상으로 보고 각 요청의 입력·권한·결과를 일관되게 정합니다.
기본 요청과 응답
- 수업 목록과 상세 조회
- 선택한 수업의 예약 생성
- 내 예약 변경·취소
- 성공·입력 오류·권한 오류 구분
운영 전에 확인할 기준
- 로그인 사용자와 관리자 권한
- 마감·정원·중복 예약 규칙
- 같은 요청의 중복 처리 방지
- 버전 변경과 기존 앱 호환
주소와 메서드만 정하지 말고 같은 예약 요청이 두 번 도착했을 때의 처리와 사용자에게 보여줄 오류까지 함께 설계해야 합니다.
자주 하는 오해
“REST API와 API는 같은 말이다”
API는 더 넓은 개념이고 REST는 웹 API를 설계하는 여러 방식 중 하나입니다.
“JSON을 주고받으면 모두 REST API다”
JSON은 데이터 표현 형식입니다. 자원 식별, 요청 의미, 응답과 상태 관리 등 전체 설계 원칙을 함께 봐야 합니다.
“REST 규칙을 따르면 오류가 생기지 않는다”
연결 규칙을 일관되게 만들 수 있지만 권한, 데이터와 업무 규칙 오류는 별도로 설계하고 테스트해야 합니다.
우리 서비스에 적용할 때 확인하세요
- 1API에서 다룰 핵심 대상과 주소가 분명한가요?
- 2조회·생성·수정·삭제 요청의 의미가 일관적인가요?
- 3성공·입력 오류·권한 오류·서버 오류를 구분하나요?
- 4중복 요청과 재시도가 데이터를 두 번 바꾸지 않나요?
- 5변경될 API와 기존 앱의 호환 방식을 정했나요?
공식 참고
서비스 기준은 공식 문서에서 다시 확인하세요
다음 자료
이해한 내용을 바로 적용해보세요
더 넓은 API 개념, 요청을 전달하는 HTTP·HTTPS와 응답 데이터를 표현하는 JSON을 이어서 확인하세요.
API 이름보다 대상·권한·성공·실패 규칙을 한 흐름으로 확인하세요
화면 행동부터 서버 처리와 사용자 안내까지 연결하면 개발과 검수 기준이 선명해집니다.
