반응형

Path Parameter(경로 매개변수)Query Parameter(쿼리 매개변수)는 web API나 URL에서 데이터를 전달하기 위한 방법으로, 각각의 용도와 목적이 다르다.

둘다 주로 GET 요청에서 많이 사용된다. GET 요청의 주요 목적이 서버에서 데이터를 읽어오고 리소스를 검색하는 것이기 때문인데, GET 요청은 요청 데이터를 URL에 포함하여 전달하므로 Path Parameter와 Query Parameter를 사용하는 것이 자연스럽다. 주의할 점은, GET 요청은 URL에 모든 데이터가 노출되기 때문에 민감한 데이터를 전달하는 데 적합하지 않다(이런 경우 POST 요청이나 본문(body)을 사용하는 것이 권장된다).

 

1. Path Parameter(경로 매개변수)

  • 위치: URL의 특정 경로 부분에 포함된다.
    예: https://example.com/users/{user_id}/orders/{order_id}
  • 용도:
    • Resource 식별: 특정 resource를 명확히 식별하기 위해 사용된다.
    • API 구조를 계층적으로 만들고 의미를 전달하는 데 적합하다.
  • 특징:
    • 필수적으로 사용되는 경우가 많다.
    • 일반적으로 고정된 값으로 나타나며 RESTful 설계에서 흔히 사용된다.
  • 예제:
    • 12345products라는 resource의 특정 제품 ID를 나타낸다.

 

2. Query Parameter(쿼리 매개변수)

  • 위치: URL의 끝에 ? 뒤에 key-value 쌍 형태로 나타난다. 여러 query parameter는 &로 구분된다.
    예: https://example.com/search?query=shoes&sort=price_asc
  • 용도:
    • Resource를 filtering하거나 sorting, paging, 또는 검색 조건을 전달할 때 사용한다.
    • 선택적 데이터를 추가하기에 적합하다.
  • 특징:
    • 선택적으로 사용할 수 있다.
    • 가변적인 데이터를 표현하기에 적합하다.
  • 예제:
    • category=electronics는 전자제품 카테고리를 필터링하고, limit=10은 한 페이지당 10개, page=2는 두 번째 페이지를 요청한다.

 

차이점 요약

항목 Path Parameter (경로 매개변수) Query Parameter (쿼리 매개변수)
위치 URL 경로의 일부 URL 끝의 ? 뒤
용도 Resource 식별 Filtering, Sorting, 검색 조건 전달
필수 여부 일반적으로 필수 선택적
가독성 명확하고 계층적 구조 표현에 적합 복잡한 조건 표현에 유용

 

결합 사용 예제

Path Paramter와 Query Paramter를 함께 사용할 수도 있다.

  • Path Paramter : 12345는 특정 사용자를 식별.
  • Query Paramter : status=pending은 대기 중인 주문만, limit=5는 결과를 5개로 제한.
반응형

'Web 일반' 카테고리의 다른 글

[Web 일반] CORS 에러 발생과 해결 방법  (0) 2025.01.02

+ Recent posts