728x90
반응형

🔷 REST API란?

REST API는 REpresentational State Transfer의 약자로,
HTTP 프로토콜을 기반으로 자원의 상태(Representation) 를 주고받는 API 설계 방식을 말합니다.

쉽게 말해, 클라이언트가 서버의 자원에 접근할 수 있도록 설계된 일종의 웹 통신 규칙입니다.


🔷 REST(Representational State Transfer)의 기본 개념

REST는 2000년에 로이 필딩(Roy Fielding)의 논문에서 처음 소개되었습니다.
REST는 다음과 같은 철학과 원칙에 기반합니다:

요소설명
자원(Resource) URI로 표현 (예: /users, /posts/1)
행위(Verb) HTTP 메서드 사용 (GET, POST, PUT, DELETE 등)
표현(Representation) JSON 또는 XML로 데이터 표현
 

🔷 RESTful이란?

REST의 아키텍처 스타일을 충실히 지킨 API를 "RESTful API"라고 부릅니다.
즉, REST 원칙에 따라 잘 설계된 API입니다.


🔷 RESTful API의 설계 규칙

RESTful API를 설계할 때 지켜야 할 주요 규칙은 다음과 같습니다:

  1. URI는 명사로 구성 (자원을 나타냄)
    • ❌ GET /getUser → ✅ GET /users/1
  2. HTTP 메서드로 행위를 표현
    • GET /users → 사용자 목록 조회
    • POST /users → 사용자 생성
    • PUT /users/1 → 사용자 정보 수정
    • DELETE /users/1 → 사용자 삭제
  3. 자원 간 계층 표현
    • GET /users/1/posts → 사용자 1의 게시글 목록
  4. 상태 코드를 일관되게 반환
    • 200 OK, 201 Created, 400 Bad Request, 404 Not Found, 500 Internal Server Error 등
  5. 무상태성(Stateless)
    • 클라이언트 요청 간에 서버는 상태 정보를 저장하지 않음

🔷 RESTful의 장점

  • URL이 직관적이고 일관성 있음
  • HTTP 기반으로 범용성 좋음
  • 다양한 언어와 플랫폼에서 쉽게 사용 가능
  • 서버와 클라이언트의 역할이 명확히 구분됨

🔷 RESTful 설계 예시

GET /products           → 상품 목록 조회  
GET /products/10        → 상품 상세 조회  
POST /products          → 상품 등록  
PUT /products/10        → 상품 수정  
DELETE /products/10     → 상품 삭제

✅ 마무리

REST API와 RESTful은 웹 서비스 설계에서 가장 많이 쓰이는 표준입니다.
API를 설계할 때 RESTful 원칙을 따르면 유지보수와 확장성이 훨씬 좋아집니다.

 

728x90
반응형

+ Recent posts