TIL/웹의 이해

[API] RESTful API

시럽이 2022. 8. 14. 19:53

🚀 학습 목표

  1. RESTful API가 무엇인지 설명할 수 있다.
  2. RESTful API의 설계규칙에 따라 엔드포인트를 작성할 수 있다.
  3. Path parameter와 Query parameter의 차이점을 알고, 상황에 맞게 적용할 수 있다.

 

REST란?

1. REST하다는 것은 무엇일까?

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

 

2. REST 규칙에 어긋나는 url 예시

  • url 은 page 기준이 아닌 resource 기준으로 작성합니다.
[GET] http://127.0.0.1:8000/product/main_page_product
  • 메인 페이지에 표출되어야할 정보가 무엇인지 판별하여 url을 정한다.
  • 한 번에 여러 종류의 정보를 표출해야 한다면, 프론트엔드 개발자와 협의하여 REST에 맞춰 두가지 이상의 endpoint를 동시에 호출
  • 우리 웹 서비스 메인페이지에 여름특가 이벤트 + 사용자의 내 상세 정보
[GET] http://127.0.0.1:8000/store/find_store
  • 동사(find)를 사용하지 않는다.
[POST] [http://127.0.0.1:8000/product/add_first_item_information]
  • 자원을 추가(add)할 때는 ~/post 만으로 충분
[GET] [http://127.0.0.1:8000/store](http://127.0.0.1:8000/store/search_store)?name='강남'
  • 검색 기능은 자원의 정보를 호출하는 기능이므로 [GET] method를 사용
  • 검색 키워드는 body를 통해 전달하지 않고, query string을 활용

 

Query Parameters VS Path Parameters

1. Query parameters (GET parameters)

  • 웹 페이지의 url 주소에서 물음표 뒤에는 늘 key=value 형식의 문자열이 따라온다. 이를 Query parameter 라고 부른다.
  • 주로 데이터를 조건으로 거르거나(filtering), 특정 방식으로 정렬하거나(sorting), 검색(searching)하고자 하는 경우에 활용

참고 영상

2. Path parameters

  • 쿼리 파라미터와 유사해보이지만 그 역할이 완전히 다름
  • 해당 리소스에 더 자세한 정보를 얻기 위해 접근할 때 사용

참고 아티클

'TIL > 웹의 이해' 카테고리의 다른 글

HTTP란?  (0) 2022.11.14
HTTP  (0) 2022.08.31
Software Testing  (0) 2022.08.06
AWS (Amazon Web Service)  (0) 2022.07.28
Git & Github  (0) 2022.07.02