REST API란 웹개발의 표준으로써
HTTP URI, 즉 엔드포인트에 맞춰 HTTP method를 정의하는 것인데
여기서 HTTP method는 get,put,post,delete,patch등이 있으며
해당하는 메소드들은 crud의 각기능과 매핑되게끔 개발을 진행합니다.
요청을 보내야할 web uri뒷부분에 슬러시와 엔드포인트를 넣어줌으로써
해당하는 HTTP method를 동작하게끔 구현합니다.
이로써 리소스의 형태와는 상관없이 해당 엔드포인트를 이용해 정보를 다룰수있습니다.
그리고 좀더 restful한 api를 만들기위해서는 별도의 주석이나 부연설명이 없이
해당하는 엔드포인트의 이름만으로도 유추할수잇게끔 개발을 진행하여야 합니다.
이는 클라이언트사이드와 서버사이드를 완벽히 분리개발을 할수있게끔 도와주는데,
예를 들어 서버사이드에 사용된 스택의 교환이나 확장을 하더라도,
클라이언트에는 어떠한 변화를 감지할수없으며, 이것은 보일러 플레이트를 만들어
얼마든지 다른 기능을 가진 사이트로 변화시킬수 있습니다.
rest api의 단점으로는
확실한 표준화가 없기때문에 공통규격이라 불리기에 애매하다.
다음의 단점으로 복작한 비즈니스 로직을 구현하기 위해서는
수많은 엔드포인트가 상호작용하여야 하며, 이것은 개발 가시성에 치명적이다.
HTTP method에 갇혀버리게 된다. 이는 메소드의 직관성 때문에
되려 복잡한 상호구조를 가지게 된다.