지금까지 API 연동을 하면서 연동하는 과정만 익혔지 REST의 역할이 무엇인지 왜 사용하는지?에 대한 근본적인 이유가 없었습니다. 그래서 REST에 관해서 자세하게 공부하려합니다.
“Repersentational State Transfer” 의 약자로
자원을 이름으로 구분하여 자원의 상태(정보)를 주고 받는 모든 것을 의미
CRUD는 기본적인 데이터 처리 기능인 Create, Read, Update, Delete를 말합니다.
CRUD Operation 동작으로는
‘애플리케이션 분리 및 통합’ , ‘다양한 클라이언트의 등장’
REST의 원리를 따른 API를 의미합니다
REST API를 설계하기 위해서는 몇가지 규칙이 있습니다.
Bad Example http://silverbeen.com/Running
Good Example http://silverbeen.com/run
Bad Example http://silverbeen.com/test/
Good Example http://silverbeen.com/test
Bad Example http://silverbeen.com/test_blog
Good Example http://silverbeen.com/test-blog
Bad Example http://silverbeen.com/delete-post/1
Good Example http://silverbeen.com/post/1
REST의 원리를 따르는 시스템을 의미합니다.
하지만, REST를 사용했다고 모두가 RESTful 한 것은 아닙니다.
REST API의 설계 규칙을 올바르게 지킨 시스템을 RESTful 하다고 합니다!
Ex1) CRUD 기능을 모두 POST로만 처리하는 API
Ex2) route에 resource, id 외의 정보가 들어가는 경우(/students/updateName)