학습내용
여기저기서 Rest API를 사용하라고 한다. 그렇다면 Rest API란 무엇인가? 사람마다 확실한 답이 없다고 생각한다. 그래서 내 생각을 정리해보려고 한다.
API란 Client와 Server가 서로 교류를 하는 것, Rest API란 Rest하게 API를 구현한 것, Restful API란 표현보다는 그저 Rest API 설계 규칙 등 표준에 맞게 설계된 Rest API를 'Restful하다' 라고 표현하는 것이라고 생각한다.
여기서 Rest란 Representational State Transfer의 약자이다. 자원에 대한 행위 즉, HTTP method(GET, POST, PUT, DELETE 등)을 어떻게 사용하고, 규칙을 잘 따랐는지가 중요하다고 생각한다. 주로 GET방식은 데이터 조회, POST방식은 데이터 삽입, PUT방식은 데이터 수정, DELETE방식은 데이터 삭제에 사용된다. 그리고 이 method들을 잘 사용하며 URI 규칙을 잘 지키면 그것이 Restful하다고 할 수 있다.
언더바 대신 하이픈을 사용한다.
소문자를 사용한다.
URI의 마지막에는 슬래시를 포함하지 않는다.
파일 확장자는 URI에 포함시키지 않는다.
계층관계는 슬래시로 구분해야한다.
행위는 포함하지 않는다.
주로 명사를 사용하되, 컨트롤 자원의 경우에는 동사를 허용한다.
마지막으로...
Rest API에 대한 지식이 부족한 부분이 있을 수 있고, 잘못 알고 있는 부분이 있을지는 모르지만 결국 Rest API란 사용자에게 편리성을 주기위한 수단 중 하나라고 생각한다. 내가 여러 프로젝트를 진행하면서 사용자 입장에서 불편하다 느끼는 부분을 수정하다 보면 어느샌가 점점 Restful 하게 API를 설계하게 될 것이다.
알고리즘 풀이 Ok!