Rest API란?
REST를 기반으로 만들어진 API를 의미합니다.
Rest란?
REST(Representational State Transfer)의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미합니다. 즉 REST란 HTTP URI (Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(GET, POST, PUT, PATCH, DELETE 등)를 통해 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미합니다.
Rest API 설계 규칙
•
URI는 동사보다는 명사를, 대문자보다는 소문자를 사용하여야 한다.
•
마지막에는 슬래시 /를 포함하지 않는다.
•
언더바 대신 하이폰을 사용한다.
•
파일 확장자는 URI에 포함하지 않는다.
•
행위를 포함하지 않는다.
RestFul이란?
REST의 원리를 따르는 시스템을 의미합니다. 하지만 REST를 사용했다 하여 모두가 RestFul 한 것은 아닙니다.
Rest API의 설계 규칙을 올바르게 지킨 시스템을 RestFul하다라고 말할 수 있으며 모든 CRUD기능을 POST로 처리하는 API 혹은 URI 규칙을 올바르게 지키지 않은 API, Rest API의 설계 규칙을 올바르게 지키지 못한 시스템은 Rest API를 사용하였지만 RestFul 하지 못한 시스템이라고 할 수 있습니다.
Rest 구성요소
•
자원(Resource) : HTTP URI
•
자원에 대한 행위(Verb) : HTTP Method
•
자원에 대한 행위의 내용(Representations) : HTTP Message Pay Load
Rest의 특징
•
Server Client (서버 - 클라이언트 구조)
•
Stateless (무상태)
•
Cacheable (캐리 처리 가능)
•
Layered System (계층화)
•
Uniform Interface (인터페이스 일관성)
