REST API의 개념을 읽거나 보면 이해는 가지만 막상 설명하려 하면 막막한 개념이다.
오늘 글로 개념을 정리하며 rest api의 개념을 제대로 알아보자. rest api는 웹 설계의 우수성에 비해 제대로 사용되지 못하고 있는 모습이 안타까워 웹의 장점을 최대한 활용할 수 있는 아키텍처로써 REST를 발표했다고 한다. REST(REpresentational State Transfer)란 웹에 존재하는 모든 자원(resorce, ex. 이미지, 동영상, 데이터)에 고유한 URI를 부여하여 자원에 대한 주소를 지정하는 방법론, 또는 규칙입니다. 현재 가장 널리 사용되고 있습니다.
규칙을 통해 몇가지 예시를 살펴보자..
회원정보를 가져오는 URI
GET members/show/1 (X)
GET members/1 (O)
GET /members/insert/2 (x) - GET 메서드는 리소스 생성에 맞지 않습니다.
POST /members/2 (o)
-> 리소스명은 동사보다는 명사를 사용한다.
HTTP 메소드
/
는 계층관계를 나타낼 때 사용http://restapi.example.com/houses/apartments
/
를 포함하지 않는다.http://restapi.example.com/houses/apartments/ (X)
http://restapi.example.com/houses/apartments (O)
웹 페이지의 url을 자세히 보면 종종 ?
가 포함되어 있는 것을 보셨을 것입니다. 이 물음표는 단순한 문자열이 아니라 특정 기능을 수행하고 있다. 물음표 뒤에는 늘 key=value
형식의 문자열이 따라온다. 이를 쿼리 파라미터라고 한다.
주로 데이터를 조건으로 filter하거나 특정 방식으로 sorting, searchin하고자 하는 경우에 활용됩니다.
Query Parameter, Path Parameters를 사용하지 않아도 개발은 가능하다. 하지만 그 효율과 속도를 늦출 수 있다. 그렇기 때문에 개발을 효율적으로 할 수 있도록 표준을 정해놨고 그것을 따르는 것이 best이다.