REST API
API
(Application Programming Interface)는 다른 소프트웨어 시스템과 통신하기 위해 따라야하는 규칙
- REST API란 Representational State Transfer의 약자로 웹의 장점을 활용할 수 있는 아키텍처
REST의 특징
URI
로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행하는 아키텍처
2) Stateless
- 작업을 위한 상태 정보를 저장하고 관리하지 않음
- 세션이나 쿠키 정보를 별도로 저장하고 관리하지 않아 단순히 들어오는 요청만 처리
→ 서비스의 자유도가 높아지고 서버에서 불필요한 정보를 관리하지 않아 구현이 단순!
3) Cacheable
- HTTP 표준 웹을 사용해 기존 인프라를 활용 가능
- HTTP 프로토콜 표준에서 사용하는
Last-Modified
태그 등을 활용
4) Self-descriptiveness
- REST API 메시지만 보고도 쉽게 이해할 수 있는 자체 표현 구조로 구성
5) Client-Server 구조
- REST 서버는 API 제공 / 클라이언트는 사용자 인증이나 정보를 직접 관리하는 구조로 역할이 구분
- 클라이언트와 서버에서 개발할 내용이 명확하고 의존성이 줄어듦
6) 계층형 구조
- 다중 계층으로 구성 가능
proxy
, gateway
와 같은 중간 매체를 사용 가능
REST API 중심 규칙
1) URI는 정보의 자원을 표현 (명사)
2) 자원에 대한 행위는 Method로 표현 (GET, POST, PUT, DELETE 등)
DELETE /member/1
POST
: 리소스 생성
GET
: 리소스 조회
PUT
: 리소스 수정
DELETE
: 리소스 삭제
참고자료
https://meetup.toast.com/posts/92