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