RESTful API와 URI Parameters

쥬씨후레시·2024년 2월 12일
0

📍 RESTful API

  • RESTful API를 사용하는 이유
요청REST API
user들의 정보를 get 하고자 함[GET] http://localhost:8000/users
starbucks에서 1번 beverages의 정보를 get 하고자 함[GET] http://starbucks.com/beverages/1
starbucks에서 2번 beverage를 주문하고자 함[POST] http://starbucks.com/order - body {beverage:2}

RESTful API는 그 자체만으로도 API의 목적이 쉽게 이해가 된다.
동작 방식을 명확하고 간결하게 보여주기 때문에 상호 작용에 대한 추가정보 없이도 이해할 수 있다.

→ 클라이언트와 서버 간의 통신을 더 쉽게 만든다.

  • RESTful API 설계방식
  1. URI는 동사를 제외한 명사로 구성하고, 어떤 행위를 할 것인가는 HTTP method (GET, POST, PUT, DELETE)만으로 표현한다.
BADGOOD
[GET] /find/users/1[GET] /users/1
[GET] /users/show/1[GET] /users/1
[POST] /insert/user/2[POST] /users/2
BADGOOD
[GET] /delete/users/1[DELETE] /users/1
[POST] /post/products[POST] /products
  1. Resource 사이에 연관 관계 및 계층 관계가 있는 경우 ('/') 를 사용한다.

    • ex) [GET] /users/{user_id}/profile
  2. URI가 길어지는 경우 - 를 사용하여 가독성을 높인다.

BADGOOD
[GET] /users/1/ordered_items[GET] /users/1/ordered-items

📍 Path parameter vs Query parameter

  1. Path parameter
  • 주로 리소스의 식별자나 경로에 직접적으로 관련된 정보를 전달할 때 사용한다.
GET /api/users/{userId}

예시 : 네이버 지도에서는 장소마다 고유한 URI를 부여하고, 특정 자원에 접근할 수 있도록 만들었다.

https://map.naver.com/v5/entry/place/:placeId

  1. Query parameter
  • 필터링, 페이지네이션, 정렬, 검색 등 다양한 선택적 매개변수를 전달할 때 사용한다.
  • URI의 끝에 ?를 시작으로 하고 key=value 쌍으로 이루어진 문자열 형태로 전달된다.
GET /api/products?category=electronics&brand=samsung

예시 : 마켓컬리에서는 필요한 조건을 요청에 따라 선택적으로 처리할 수 있는 통일된 API를 구성하고 있다.

https://www.kurly.com/categories/907?filtering-query-parameters

elice

#코딩독학 #코딩인강 #코딩배우기 #개발자 #코딩이란 #코딩교육 #프론트엔드부트캠프 #백엔드부트캠프 #국비지원부트캠프 #개발자 #백엔드 #AI부트캠프 #개발자국비지원 #백엔드개발자 #프론트엔드개발자
profile
수련 중🧘🏼‍♀️

0개의 댓글