REST(Representational State Transfer)의 약자로
자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미합니다.
URI로 리소스를 명시하여 HTTP Method 로 리소스를 주고 받아 CRUD Operation를 적용하는 것
HTTP Method
POST : 지정된 URL에 신규 리소스를 생성
GET : 지정된 URL에서 리소스의 표현을 조회
PUT : 지정된 URL에 리소스를 생성하거나 업데이트
DELETE : 지정된 URL의 리소스를 제거
PATCH : 리소스의 부분 업데이트
CRUD Operation이란
Create : 데이터 생성(POST)
Read : 데이터 조회(GET)
Update : 데이터 수정(PUT)
Delete : 데이터 삭제(DELETE)
REST는 다음과 같은 3가지로 구성이 되어있다.
자원(Resource) : HTTP URI
자원에 대한 행위(Verb) : HTTP Method
자원에 대한 행위의 내용 (Representations) : HTTP Message Pay Load
Uniform Interface(인터페이스 일관성)
: 일관적인 인터페이스로 분리되어야 합니다.
Stateless(무상태)
: 각 요청 간 클라이언트의 context, 세션과 같은 상태 정보를 서버에 저장하지 않습니다
Layered System(계층화)
: 클라이언트는 대상 서버에 직접 연결되어있는지, Proxy를 통해서 연결되었는지 알 수 없습니다.
Cacheable(캐시 처리 가능)
: 클라이언트는 응답을 캐싱할 수 있어야 합니다. 캐시를 통해 대량의 요청을 효율적으로 처리할 수 있습니다.
Server-Client(서버-클라이언트 구조)
: 아키텍처를 단순화시키고 작은 단위로 분리함으로써 클라이언트-서버의 각 파트가 독립적으로 구분하고 서로 간의 의존성을 줄입니다.
RESPT API란 REST의 원리를 따르는 API를 의미합니다.
REST API를 올바르게 설계하기 위해서는 지켜야 하는 몇가지 규칙이 있으며 해당 규칙을 알아 보겠습니다.
Bad Example http://khj93.com/Delete_Running.jpg/
Good Example http://khj93.com/Delete_running.jpg/
Bad Example http://khj93.com/Delete_running.jpg/
Good Example http://khj93.com/Delete_running.jpg
Bad Example http://khj93.com/Delete_running.jpg
Good Example http://khj93.com/Delete-running.jpg
Bad Example http://khj93.com/Delete-running.jpg
Good Example http://khj93.com/Delete-running
Bad Example http://khj93.com/Delete-running
Good Example http://khj93.com/running