🚀 학습 목표
- RESTful API가 무엇인지 설명할 수 있다.
- RESTful API의 설계규칙에 따라 엔드포인트를 작성할 수 있다.
- 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 |