프론트엔드나 백엔드 모두 WEB을 다루는 프로그래머라면 알고있어야할 REST API에 대해서 알아보려합니다.
해당 내용은 면접시에도 단골질문이라고 하니 취업준비중인 분들이라면 이 글을 읽고 면접뽀개기에 성공하셨으면합니다.
HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다.
데이터를 주고받을떄 HTTP Method인 위 4가지를 이용하여 만드는 스타일을 Rest API라 생각하면 된다.
4가지를 각각 용도에 맞게 잘 사용하였다면 *Restful하다고 표현하기도 한다.
HTTP Method는 CRUD(Create(생성)/Read(읽기)/Update(갱신)/Delete(삭제)에 각각 매칭된다. 즉 POST는 Create(생성), PUT은 Update(갱신) 등에 매칭이 된다.
RESTful은 일반적으로 REST라는 아키텍처를 구현하는 웹 서비스를 나타내기 위해 사용되는 용어이다.
‘REST API’를 제공하는 웹 서비스를 ‘RESTful’하다고 할 수 있다.
RESTful은 REST를 REST답게 쓰기 위한 방법으로, 누군가가 공식적으로 발표한 것이 아니다.
즉, REST 원리를 따르는 시스템은 RESTful이란 용어로 지칭된다.
이해하기 쉽고 사용하기 쉬운 REST API를 만드는 것
RESTful한 API를 구현하는 근본적인 목적이 성능 향상에 있는 것이 아니라 일관적인 컨벤션을 통한 API의 이해도 및 호환성을 높이는 것이 주 동기이니, 성능이 중요한 상황에서는 굳이 RESTful한 API를 구현할 필요는 없다.
Ex1) CRUD 기능을 모두 POST로만 처리하는 API
Ex2) route에 resource, id 외의 정보가 들어가는 경우(/students/updateName)
RESTful 하게 이용하기위해 메서드에 관하여 포스팅한 링크를 아래 첨부하니 필요하신분은 참고해주세요
HTTP Method 알아보기 😉