REST api
기술노트
REST API 개념 정리
1. REST API 정의
REST API(Representational State Transfer API)는 웹에서 자원을 CRUD(Create, Read, Update, Delete) 방식으로 조작할 수 있도록 설계된 아키텍처 스타일의 API이다. HTTP 프로토콜을 기반으로 하며, RESTful API라고도 불린다.
유투브 영상
2. REST API의 주요 원칙
- 클라이언트-서버 구조(Client-Server Architecture)
클라이언트와 서버는 독립적으로 동작하며, 클라이언트는 요청을 보내고 서버는 응답을 제공한다.
- 무상태성(Stateless)
각 요청은 독립적으로 처리되며, 서버는 클라이언트의 이전 요청 상태를 기억하지 않는다.
- 캐시 가능(Cacheable)
응답 데이터는 캐시할 수 있어 성능을 최적화할 수 있다.
- 계층적 시스템(Layered System)
API는 여러 계층으로 구성될 수 있으며, 클라이언트는 최종 서버인지 중간 서버인지 알 필요가 없다.
- 일관된 인터페이스(Uniform Interface)
URI를 통해 자원을 명확하게 식별하고, HTTP 메서드(GET, POST, PUT, DELETE)를 이용해 자원을 조작한다.
3. REST API의 HTTP 메서드
메서드 | 설명 |
---|---|
GET | 자원 조회 |
POST | 새로운 자원 생성 |
PUT | 기존 자원 수정 |
DELETE | 자원 삭제 |
4. REST API의 예시
1) 사용자 정보를 가져오는 API
GET /users/1 HTTP/1.1 Host: example.com
응답
{ "id": 1, "name": "홍길동", "email": "hong@example.com" }
2) 새로운 사용자 등록
POST /users HTTP/1.1 Host: example.com Content-Type: application/json { "name": "홍길동", "email": "hong@example.com" }
응답
{ "id": 2, "name": "홍길동", "email": "hong@example.com" }