IT 정보/Spring

[Spring] REST API가 무엇인가?

개발하는 동그리 2025. 4. 29. 15:18
728x90
반응형
REST 아키텍처 스타일을 기반으로, HTTP 프로토콜을 이용하여 서버와 클라이언트 간에 데이터를 주고받기 위해 설계된 인터페이스

 

구성 요소

  • 자원(Resource) : 서버에 존재하는 데이터를 의미하며, 각각 고유한 URL로 식별된다.
  • 행위(HTTP Method) : 클라이언트가 자원에 대해 수행하려는 동작을 정의
    • GET, POST, PUT, DELETE
  • 표현(Representation) : 자원의 상태를 전달하는 형태로, 주로 JSON, XML 등의 포맷으로 표현

 


REST API의 기본 원칙

  • Uniform Interface (일관된 인터페이스)
    • URL, HTTP 메소드 사용 규칙이 일관되어야 함
  • Stateless (무상태성)
    • 서버는 각 요청 간에 클라이언트 상태를 저장하지 않습니다. (모두 요청은 독립적)
  • Client-Server 구조
    • 클라이언트와 서버는 역할을 명확히 구분합니다. (서버는 데이터, 클라이언트는 UI)
  • Casheable (캐싱 가능성)
    • 서버의 응답은 캐시될 수 있어야 합니다.
  • Layered System (계층 구조)
    • 클라이언트는 중간 서버(프록시 등)을 거칠 수 있으며 최종 서버를 몰라도 상관없음

 


REST API의 특징

  • 장점 :
    • 구조가 명확하고, 확장성/유지보수가 용이합니다. 클라이언트와 서버를 독립적으로 개발할 수 있음
  • 단점 :
    • 단순 CRUD 외 복잡한 데이터 조회나 작업에 적합하지 않은 경우가 있어, 이럴 때는 GraphQL 등 다른 방식이 사용되기도 함

REST API는 자원(URL)과 행위(HTTP 메소드)를 조합하여, HTTP를 통해 서버와 클라이언트가 일관된 방식으로 통신하는 인터페이스이다.

728x90
반응형