REST는 굉장히 난해한 개념입니다. 하지만 REST가 무엇인지 대략의 감은 잡아둡시다.
REST API를 설계했다면 충분히 물어볼만한 질문입니다.
HTTP URI를 통해 자원을 표시하고 HTTP Method를 통해 자원에 대한 처리를 표현합니다.
사람이 읽을 수 있는 API라는 것이 특징입니다.
HTTP를 사용하기 때문에 HTTP의 특성을 그대로 반영합니다.
또한 별도의 인프라 구축이 필요없습니다.
단점으로는 명확한 표준이 존재하지 않는다는 점,
RESTful을 완전히 만족하는 API를 만들기는 매우 까다롭다는 점
REST API가 분산환경에 적합하지 않다는 점이 있습니다.
(멱등성을 보장하기 힘들기 때문)
HATEOAS라는 개념이 있는데, 동적인 API를 제공할 수 있게됩니다.
(모든 관련된 동작을 URI를 통해 알려줍니다.)
즉, 클라이언트가 API의 변화에 일일이 대응하지 않아도 된다는 장점을 가져옵니다.