REST API
REST(Representational State Transfer)는 분산 시스템에서 서버와 클라이언트 사이의 통신 방식을 규정한 아키텍처 스타일입니다. REST API는 이러한 아키텍처 스타일을 따르는 API입니다.
REST API는 HTTP 프로토콜의 메서드(GET, POST, PUT, DELETE 등)를 이용하여 데이터를 주고받습니다. URI(Uniform Resource Identifier)를 이용하여 요청하는 리소스를 표시하고, HTTP 메시지의 헤더와 바디에 포함된 정보를 이용하여 요청 처리 결과를 반환합니다. REST API의 특징으로는, 각 리소스는 고유한 URI를 가지며, URI에 대한 요청은 의도를 명확하게 나타내야 한다는 것이 있습니다.
REST API를 사용하면, 다양한 클라이언트에서 플랫폼에 독립적으로 데이터를 주고받을 수 있으며, API의 확장성과 유연성이 높아집니다. 또한, REST API를 사용하면 캐싱 등 다양한 웹 기술을 활용하여 성능을 최적화할 수 있습니다.
스프링 프레임워크에서는 Spring MVC를 이용하여 REST API를 개발할 수 있으며, Jackson 라이브러리를 이용하여 JSON 데이터를 처리하는 등 다양한 기능을 제공합니다. 또한, Spring Boot를 이용하여 REST API를 쉽게 개발하고 배포할 수 있습니다.
GET 메서드: 리소스의 정보를 요청할 때 사용합니다. 웹 브라우저에서 주소 창에 URL을 입력하여 웹 페이지를 요청할 때 사용되는 메서드입니다.
POST 메서드: 서버에 데이터를 제출할 때 사용합니다. 대표적으로 회원가입, 로그인 등에서 사용됩니다.
PUT 메서드: 서버에 데이터를 업데이트할 때 사용합니다. 대표적으로 게시물 수정, 파일 업로드 등에서 사용됩니다.
DELETE 메서드: 서버에 있는 데이터를 삭제할 때 사용합니다. 대표적으로 게시물 삭제, 파일 삭제 등에서 사용됩니다.
PATCH 메서드: PUT 메서드와 유사하게 데이터를 업데이트할 때 사용합니다. 하지만 PUT 메서드는 전체 데이터를 업데이트하고, PATCH 메서드는 일부 데이터만 업데이트합니다.