이번에 취미 삼아 만든 IOT(Internet of Things) 디바이스들의 통신 방법을 완전히 싹 갈아엎고 업데이트를 진행하였다. 기존에는 Socket을 이용하여 Server와 client device가 통신하였다. 하지만 client device에서는 장기간의 socket stream을 유지할 수 없는 문제를 마주하게 되었다. 이를 해결하기 위해 어떤 방법을 사용할지 고민했다. 고민 끝에 요즘 핫한 동시에, 이전에 회사에서 사용했던 REST API를 사용해보기로 결정했다. 회사에서는 마감일 때문에 급하게 대충 만들었는데, 이번 기회에 좀 더 디테일하게 공부하고 적용하게 되었다.
이 글은 REST API가 무엇이며 어떻게 사용해야 하는지 조목조목 알려주는 글이 아니다. 이번 포스트에서는 이미 REST API를 아는 사람이 자신의 API에서 REST 스럽지 못한 부분이 있는지 확인하기 위해 체크리스트를 제공한다. RESTful API(REST API 설계 가이드를 따르는 API)를 사용함으로써 얻을 수 있는 이점은 아래와 같다.
1. HTTP의 기능을 잘 활용할 수 있다.
2. 깔끔한 API 설계를 할 수 있다.
3. 우리끼리 은밀하고 아름다운 규칙을 통해 개발자 간의 의사소통 비용(overhead)을 줄일 수 있다.
(표를 삽입할 수 없어 그림을 삽입했습니다. 자세히 보고 싶으신 분들께서는 https://blog.naver.com/nanotoly/222068186735)