도구 및 기타/개발상식

REST API

tero1115 2023. 7. 20. 15:16

REST API

REST API는 웹 서비스 간 통신을 위한 아키텍처 스타일입니다

REST는 자원(Resource)을 URI로 표현하고, HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용하여 해당 자원을 조작하는 방식을 정의합니다

 

REST API의 특징

  1. 자원 지향적(Resource-Oriented): 모든 자원은 고유한 식별자인 URI를 통해 표현되며, 이러한 자원들은 서버에 저장되어 관리됩니다.
  2. Stateless (무상태성): 각 요청은 클라이언트의 상태를 서버에 저장하지 않고, 필요한 정보를 모두 담고 있어야 합니다. 서버는 이전 요청과 무관하게 각 요청을 독립적으로 처리합니다.
  3. CRUD 작업 지원: REST API는 기본적으로 데이터를 생성(Create), 조회(Read), 수정(Update), 삭제(Delete)하는 작업을 지원합니다. 이를 통해 데이터베이스와 상호작용하는데 사용될 수 있습니다.
  4. 자체 설명 메커니즘(Self-descriptive): 요청을 보낼 때 어떤 작업을 수행할지 알 수 있도록, 메시지에 대한 정보가 포함되어야 합니다. 일반적으로 HTTP 메서드, 헤더, 상태 코드 등이 이 정보를 담고 있습니다.
  5. Hypermedia as the Engine of Application State (HATEOAS): REST API의 특징 중 하나로, 서버에서 제공하는 리소스와 상태에 대한 정보를 하이퍼링크로 제공하여 클라이언트가 상태에 따라 필요한 작업을 수행할 수 있도록 합니다.

 

RESTful 웹 서비스는 주로 JSON 혹은 XML 형식으로 데이터를 주고받으며, 모바일 앱, 웹 애플리케이션 등 다양한 클라이언트와의 통신에 사용됩니다.

'도구 및 기타 > 개발상식' 카테고리의 다른 글

트랜잭션 (Transaction)  (1) 2024.11.07
@Controller와 @RestController  (0) 2023.07.21
HTTP 상태 코드(응답)  (0) 2023.07.20
HTTP 메소드 (요청)  (0) 2023.07.20
스프링 어노테이션  (0) 2023.07.17