REST API

한성봉·2021년 6월 30일
0

REST API

REST API의 개념을 읽거나 보면 이해는 가지만 막상 설명하려 하면 막막한 개념이다.
오늘 글로 개념을 정리하며 rest api의 개념을 제대로 알아보자. rest api는 웹 설계의 우수성에 비해 제대로 사용되지 못하고 있는 모습이 안타까워 웹의 장점을 최대한 활용할 수 있는 아키텍처로써 REST를 발표했다고 한다. REST(REpresentational State Transfer)란 웹에 존재하는 모든 자원(resorce, ex. 이미지, 동영상, 데이터)에 고유한 URI를 부여하여 자원에 대한 주소를 지정하는 방법론, 또는 규칙입니다. 현재 가장 널리 사용되고 있습니다.

REST 구성

  • 자원(RESOURCE) - URI
  • 행위(Verb) - Http Method
  • 표현(Representations)

REST API 규칙

  1. URL 은 페이지 기준이 아닌 resource 기준으로 작성한다.
  2. 메인 페이지에 표출되어야할 정보가 무엇인지 판별하여 URL을 결정한다.
  3. 한 번에 여러개의 정보가 표출되어야한다면, 프론트엔드 개발자와 협의하여 REST에 맞춰 endpoint를 동시에 호출한다.
  4. 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE 등)로 표현한다.

규칙을 통해 몇가지 예시를 살펴보자..

회원정보를 가져오는 URI

GET members/show/1 (X)
GET members/1 (O)

GET /members/insert/2 (x)  - GET 메서드는 리소스 생성에 맞지 않습니다.
POST /members/2       (o)

-> 리소스명은 동사보다는 명사를 사용한다.

HTTP 메소드

  • POST : POST를 통해 해당 URI를 요청하면 리소스를 생성합니다.
  • GET : GET를 통해 해당 리소스를 조회합니다. 리소스를 조회하고 해당 도큐먼트에 대한 자세한 정보를 가져온다.
  • PUT : PUT를 통해 해당 리소스를 수정합니다.
  • DELETE : DELETE를 통해 리소스를 삭제합니다.

url 설계시 주의사항

  1. /는 계층관계를 나타낼 때 사용
http://restapi.example.com/houses/apartments
  1. url 마지막에는 /를 포함하지 않는다.
http://restapi.example.com/houses/apartments/ (X)
http://restapi.example.com/houses/apartments  (O)
  1. 언더바(_) 대신 하이픈(-) 을 사용한다.
  2. url 경로는 대문자 대신 소문자를 사용한다.
  3. url 에 파일 확장자를 포함시키지 않는다.

Query Parameters VS Path Parameters

웹 페이지의 url을 자세히 보면 종종 ? 가 포함되어 있는 것을 보셨을 것입니다. 이 물음표는 단순한 문자열이 아니라 특정 기능을 수행하고 있다. 물음표 뒤에는 늘 key=value 형식의 문자열이 따라온다. 이를 쿼리 파라미터라고 한다.
주로 데이터를 조건으로 filter하거나 특정 방식으로 sorting, searchin하고자 하는 경우에 활용됩니다.

Query Parameter, Path Parameters를 사용하지 않아도 개발은 가능하다. 하지만 그 효율과 속도를 늦출 수 있다. 그렇기 때문에 개발을 효율적으로 할 수 있도록 표준을 정해놨고 그것을 따르는 것이 best이다.

0개의 댓글