Restful API ? 그게 뭔데?

김인태·2022년 6월 26일
0

Restful API ? 그게 뭔데? ✨

들어보기는 많이 들어봤을 것이다. Restful... Restful... Rest하는 무언가 형용사란 뜻인데..
그럼 REST하다는 것이 무엇인지 부터 알아보자!

REST?

우선 REST 부터 알아봅시다! REST(REpresentational State Transfer)란 웹에 존재하는 모든 자원(resource, ex. 이미지, 동영상, 데이터)에 고유한 URI를 부여하여 자원에 대한 주소를 지정하는 방법론, 또는 규칙입니다. 현재 가장 널리 사용되고 있습니다.
RESTful API는 REST 특징을 지키면서 API를 제공한다는 의미입니다. 어렵다면 "프론트엔드에서 백엔드 API를 호출할 url을 어떻게 만들것인가?"에 대한 이야기라고 생각하셔도 됩니다.

그렇다면 Restful API ?

REST API(RESTful API, 레스트풀 API)란 REST 아키텍처의 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스를 뜻합니다.
그러면 그 제약 조건을 알아야만 Restful API를 만들 수 있겠죠?

Restful API 규칙!

  • 대문자는 때로 문제를 일으키는 경우가 있기 때문에 URI를 작성할 때는 소문자를 선호합니다.

  • url 은 page 기준이 아닌 resource 기준으로 작성합니다.

  • 독성을 위해 긴 Path를 표현하는 단어는 하이픈으로 구분하는 것이 좋습니다.

  • 메인 페이지에 표출되어야할 정보가 무엇인지 판별하여 url을 정합니다.

http://127.0.0.1:8000/product/main_page_product

  • 한 번에 여러 종류의 정보를 표출해야 한다면, 프론트엔드 개발자와 협의하여 REST에 맞춰 두가지 이상의 endpoint를 동시에 호출합니다.
  • (BAD) http://127.0.0.1:8000/store/find_store
    동사(find)를 사용하지 않습니다.
    (예외적으로 컨트롤 자원을 의미할시에 동사를 허용합니다.)

  • (BAD) [http://127.0.0.1:8000/product/add_first_item_information]
    자원을 추가(add)할 때는 ~/post 만으로 충분합니다.

  • (BAD)http://127.0.0.1:8000/store?name='강남'
    검색 기능은 자원의 정보를 호출하는 기능이므로 [GET] method를 사용합니다.

검색 키워드는 body를 통해 전달하지 않고, query string을 활용합니다.

Query Parameters VS Path Parameters ?

Query Parameters란?

웹 페이지의 url 주소에서 종종 ? 가 포함되어 있는 것을 보셨을 것입니다. 이 물음표는 단순한 문자열이 아니라 특정한 기능을 수행하고 있습니다. 물음표 뒤에는 늘 key=value 형식의 문자열이 따라옵니다. 이를 Query parameter 라고 부릅니다.

/users?id=123  <-user의 value가 123인 경우의 URI

저렇게 입력하면 서버로 부터 id라는 변수를 얻어올 수 있습니다.

👌주로 데이터를 조건으로 거르거나(filtering), 특정 방식으로 정렬하거나(sorting), 검색(searching)하고자 하는 경우에 활용됩니다.

Path Parameters란?

Path Variable은 다음과 같이 사용합니다.

/users/123 <-id가 123인 사용자를 가져옵니다.

resource를 식별하고 싶으면 Path Variable을 사용하고,
정렬이나 필터링을 한다면 Query Parameter를 사용하는 것이 가장 좋은 방법이라고 합니다!

백엔드와의 원활한 소통을 위해서 꼭 알아야하는 정보들이니 숙지하고 있자!!!!

profile
새로운 걸 배우는 것을 좋아하는 프론트엔드 개발자입니다!

0개의 댓글