[개발] RestAPI란?

김관응·2023년 3월 30일
0

개발

목록 보기
1/2

REST는 Representational State Transfer의 약자로서 REST 기반으로 서비스 API를 구현한 것이다.

REST의 구성

  • Resource : URI 자원
  • Verb : HTTP Method
  • Representation : JSON, XML, TEST, RSS 등 여러 형태

REST의 특징

특징설명
Uniform interfaceURI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행
Stateless무상태성 성격. 작업을 위한 상태 정보를 따로 저장하고 관리하지 않는다
CacheableHTTP라는 기존 웹 표준을 그대로 사용하기 때문에 웹에서 사용하는 기존 인프라를 그대로 이용 가능 따라서 HTTP가 가진 캐싱 기능 적용 가능
Self-descriptivenessREST 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 : 서버 문제

profile
엔지니어였던 개발자

0개의 댓글