REST는 Representational State Transfer의 약자로서 REST 기반으로 서비스 API를 구현한 것이다.
특징 | 설명 |
---|---|
Uniform interface | URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행 |
Stateless | 무상태성 성격. 작업을 위한 상태 정보를 따로 저장하고 관리하지 않는다 |
Cacheable | HTTP라는 기존 웹 표준을 그대로 사용하기 때문에 웹에서 사용하는 기존 인프라를 그대로 이용 가능 따라서 HTTP가 가진 캐싱 기능 적용 가능 |
Self-descriptiveness | REST API 메시지만 보고도 쉽게 이해할 수 있는 자체 표현 구조 |
Client-server | 클라이언트 서버 구조 |
Layered System | 다중 계층으로 구성 |
URI는 정보의 자원을 표현
자원에 대한 행위는 HTTP Method로 표현
슬래시 구분자는 계층 관계를 나타낸다. >사용 마지막 문자는 슬래시를 포함하지 않는다.
하이픈은 URI의 가독성을 높이는 데 사용. 언더바는 사용하지 않고 소문자를 사용한다.
파일 확장자는 URI에 포함하지 않는다.
Collection과 Document로 구성. Collection은 복수형
200 : 요청 정상 수행
201 : 리소스 생성 요청 정상 수행
301 : 요청한 리소스 URI 변동
400 : 부적절한 요청
401 : 클라이언트 인증 오류
403 : 요청한 리소스에 권한이 없을 경우
404 : 서버에 존재하지 않는 페이지 요청
405 : 요청한 리소스에서는 사용 불가능한 Method를 이용했을 경우
500 : 서버 문제