REST api

기술노트

REST API 개념 정리

1. REST API 정의

REST API(Representational State Transfer API)는 웹에서 자원을 CRUD(Create, Read, Update, Delete) 방식으로 조작할 수 있도록 설계된 아키텍처 스타일의 API이다. HTTP 프로토콜을 기반으로 하며, RESTful API라고도 불린다.

유투브 영상

API 에 대한 설명 영상

2. REST API의 주요 원칙

  • 클라이언트-서버 구조(Client-Server Architecture)
 클라이언트와 서버는 독립적으로 동작하며, 클라이언트는 요청을 보내고 서버는 응답을 제공한다.
  • 무상태성(Stateless)
 각 요청은 독립적으로 처리되며, 서버는 클라이언트의 이전 요청 상태를 기억하지 않는다.
  • 캐시 가능(Cacheable)
 응답 데이터는 캐시할 수 있어 성능을 최적화할 수 있다.
  • 계층적 시스템(Layered System)
 API는 여러 계층으로 구성될 수 있으며, 클라이언트는 최종 서버인지 중간 서버인지 알 필요가 없다.
  • 일관된 인터페이스(Uniform Interface)
 URI를 통해 자원을 명확하게 식별하고, HTTP 메서드(GET, POST, PUT, DELETE)를 이용해 자원을 조작한다.

3. REST API의 HTTP 메서드

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"
}