API 설명
- Application Programmining Interface의 약자
- 애플리케이션끼리 서로 데이터를 주고받고 기능을 사용할 수 있도록 만들어진 인터페이스(약속/규칙)
- 예시
- 카카오 지도 API → 웹, 앱에서 지도 띄우고 경로 탐색 기능 사용 가능
- 결제 API → 직접 카드사 시스템을 만들지 않아도 PG사가 제공하는 API 호출로 결제 처리 가능
⇒ API는 서비스를 외부에 제공하는 문 역할
REST API 설명
- Representational State Transfer API의 약자
- API를 설계하는 스타일 중 하나로, 웹의 HTTP 프로토콜을 기반으로 만들어진 API 규칙
- 특징
- 리소스 중심 - 모든 것을 자원(유저, 게시글, 주문 등)으로 보고 표현
- 고유한 URL - 리소스는 고유한 주소로 식별
- EX) /api/users/1 → id가 1인 사용자
- HTTP 메서드 활용
- GET
- POST
- PUT/PATCH
- DELETE
- 예시
- GET /api/boards/1 → id=1 게시글 조회
- POST /api/boards → 게시글 생성
- DELETE /api/boards/1 → id=1 게시글 삭제
RESTful API
- REST의 규칙을 충실하게 지킨 API
- 예시
- RESTful하지 않은 경우
- GET /api/getUserInfo?id=1 → URL에 동작(get)을 넣은 경우(자원 중심 아님)
- RESTful한 예시
- GET /api/users/1 → 자원을 URL로 표현하고, 동작은 HTTP 메서드로 구분