REST API란?

2019. 9. 2. 00:11Backend 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 : 서버 문제
반응형