REST API란 REST를 기반으로 만들어진 API를 의미한다. REST API를 알기 위해 REST 부터 알아보자.
REST(Representational State Transfer)의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미한다.
즉, REST란
CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말로 REST에서의 CRUD Operation 동작 예시는 다음과 같다.
REST는 다음과 같은 3가지로 구성되어 있다.
1) 자원(Resource) : HTTP URI
2) 자원에 대한 행위(Verb) : HTTP Method
3) 자원의 대한 행위의 내용 (Representations) : HTTP Message Pay Load
REST API란 REST의 원리를 따르는 API를 의미한다. 하지만 REST API를 올바르게 설계하기 위해서는 지켜야 하는 몇가지 규칙이 있으며, 해당 규칙은 다음과 같다.
1) URI는 동사보다는 명사를, 대문자보다는 소문자를 사용하자
안좋은 예시 : http://zerozae.com/Eat
좋은 예시 : http://zerozae.com/eating
2) 마지막에 슬래시 (/)를 포함하지 않는다.
안좋은 예시 : http://zerozae.com/hello/
좋은 예시 : http://zerozae.com/hello
안좋은 예시 : http://zerozae.com/hello_world
좋은 예시 : http://zerozae.com/hello-world
안좋은 예시 : http://zerozae.com/photo.png
좋은 예시 : http://zerozae.com/photo
안좋은 예시 : http://zerozae.com/update-post
좋은 예시 : http://zerozae.com/post
RESTful이란 REST의 원리를 따르는 시스템을 의미한다. 하지만 REST를 사용했다 해도 모두가 RESTful 한 것은 아니다. REST API의 설계 규칙을 올바르게 지킨 시스템을 RESTful하다 말할 수 있고, 모든 CRUD 기능을 POST로 처리 하는 API 혹은 URL규칙을 올바르게 지키지 않은 API는 설계 규칙을 올바르게 지키지 못하였고, REST API를 사용했다 하더라도 RESTful 하지 못한 시스템이라고 할 수 있다.