일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ExceptionResolver
- 깃허브 저장소 합치기
- http
- 커밋로그
- 예외추상화
- HTTP 요청 메시지
- BasicErrorController
- REST #REST API #HTTP 메서드
- 백준4256
- HTTP 응답 메시지
- 웹 스코프
- BeanDefnition
- 프로토타입 스코프
- 스프링 파일 업로드
- 프로토콜 스택 4계층
- DI
- 스프링 타입컨버터
- 김영한
- BeanValidation
- 의존관계
- 객체지향
- 체크에러
- 스프링 컨테이너
- 서블릿
- 백준 2263
- 스프링 예외변환기
- 언체크에러
- HTTP메시지
- 스프링
- 스프링 빈
Archives
- Today
- Total
Enthusiasm! Enthusiasm!
REST API에 대한 이해 본문
새로운 사이드 프로젝트를 시작하기 전 내가 어떤 기술과 역량을 길러야할지 알아보기 위해 기업들의 채용공고를 보고 있었다. 그러던 중 이런 문구를 보았다.
-REST API로 여러 서비스를 연동해본 경험이 있으면 좋아요.
많은 기업에서 REST API의 경험을 중요시 하였고, 확실히 알아둬야 겠다는 생각이 들어서 정리하고자 이 글을 작성한다.
REST API 기본 개념
REST API는 Representational State Transfer API의 약자로 웹 서비스를 위한 소프트웨어 아키텍처 스타일 중 하나이다. 클라이언트-서버 모델을 따르며, 클라이언트가 서버에 요청을 보내면 서버가 데이터를 반환하는 방식으로 작동한다.
REST API는 자원(resource)을 표현하는 URI(Uniform Resource Identifier)를 사용한다. 클라이언트는 URI를 통해 자원에 접근하며, 서버는 HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용하여 클라이언트 요청을 처리한다. REST API는 상태를 유지하지 않고, 요청과 응답 간에 상태 정보가 없는 상태를 유지한다. 따라서 REST API는 확장성과 유연성이 높아, 다양한 웹 서비스에서 사용되며, 모바일 앱, 웹 애플리케이션 등에서도 많이 활용된다. REST API는 클라이언트와 서버 간의 통신을 표준화하고, 상호 운용성(interoperability)을 제공하므로, 서로 다른 플랫폼에서도 쉽게 사용할 수 있다.
REST API의 주요 특징
REST API는 HTTP 메서드를 사용하기 때문에 HTTP 메서드가 가지고 있는 특징들을 가진다.
-HTTP 메서드 정리내용: https://yulddong.tistory.com/21
1. HTTP 메서드 사용: REST API는 HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용하여 자원에 대한 요청을 처리한다. 각 메서드는 특정한 의미를 가지며, 일반적으로 GET은 자원을 조회하는 데, POST는 자원을 생성하는 데, PUT은 자원을 수정하는 데, DELETE는 자원을 삭제하는 데 사용된다.
2. 자원 지향: REST API는 자원(resource)을 중심으로 설계된다. 각 자원은 고유한 URI(Uniform Resource Identifier)를 가지며, 클라이언트는 URI를 사용하여 자원에 접근한다.
3. Stateless(무상태성): REST API는 클라이언트와 서버 간에 상태 정보를 유지하지 않는다. 클라이언트가 요청을 보내면 서버는 요청에 대한 응답을 반환하고, 클라이언트와 서버 간의 연결은 끊어진다.
-자세한 설명: https://yulddong.tistory.com/20
4.캐시 가능: REST API는 HTTP 프로토콜을 기반으로 하므로, 캐싱을 활용하여 성능을 향상시킬 수 있다.
5.자체 설명(표현 구조): REST API는 자원에 대한 설명 정보를 포함하고 있어서, 클라이언트는 이 정보를 사용하여 자원에 대해 쉽게 이해할 수 있다.
6. 다양한 데이터 형식 지원: REST API는 다양한 데이터 형식을 지원한다. 현재 가장 일반적인 형식은 JSON이지만 XML, CSV, YAML 등의 형식도 지원된다.
스프링을 공부하면서 HTTP 기본 내용들과 메서드에 대해 공부하였고, 거기서 좋은 API의 설계란 어떤 것인가에 대한 내용을 공부한적이 있다. REST API의 설계 방식이 그때 배운 내용들과 상당히 유사하며, 내가 그동안 공부한 내용들이 REST API의 개념을 적용하고 있었다는 사실을 알게되었다.
'기타' 카테고리의 다른 글
Swagger를 사용하여 API 문서 자동화하기 (1) | 2023.04.20 |
---|---|
2023 팀 네이버 신입공채 코딩테스트 후기 (0) | 2023.04.15 |
커밋 로그를 유지하면서 깃허브 저장소 합치기 (0) | 2023.02.10 |
Comments