Query와 Parameter의 차이점
KUKJIN LEE • 2주 전 작성
웹 개발에서 Query와 Parameter(경로 파라미터)는 API 요청을 다룰 때 혼동할 수 있는 용어입니다. 특히 RESTful API를 구현하거나 사용하면서 이 둘의 용도를 명확히 이해하는 것이 중요합니다.
Query와 Parameter란 무엇인가?
-
Query: URL의
?
뒤에 붙는 키-값 쌍의 형태로 데이터나 필터링 조건을 전달할 때 사용됩니다. 예를 들어, 특정 조건에 맞는 데이터를 검색하거나 정렬 기준을 전달할 때 주로 사용됩니다.
GET /api/products?category=electronics&sort=price
위의 URL에서 category=electronics
와 sort=price
는 쿼리입니다. 이를 통해 클라이언트는 전자 제품을 가격 순으로 정렬해달라는 요청을 서버에 보냅니다.
-
Parameter (경로 파라미터, Path Parameter): URL 경로의 일부로, 리소스의 특정 식별자를 나타내는 데 사용됩니다. 이 값은 리소스를 식별하거나 특정 데이터에 접근할 때 유용합니다.
GET /api/products/123
Query와 Parameter의 사용 목적
-
경로 파라미터 (Path Parameter)
-
리소스를 식별하기 위해 사용됩니다.
-
예를 들어, 특정 사용자의 정보나 제품의 상세 정보를 조회할 때 사용합니다.
-
예시:
/api/users/45
에서45
는 특정 사용자 ID를 의미합니다.
-
-
쿼리 (Query)
-
데이터를 필터링하거나 정렬하기 위해 사용됩니다.
-
주로 검색, 정렬, 페이징 등의 조건을 전달하는 데 사용합니다.
-
예시:
/api/users?age=30&sort=name
에서age=30
은 나이로 필터링하고sort=name
은 이름 기준으로 정렬한다는 의미입니다.
-
항목 |
Query |
Parameter (Path Parameter) |
---|---|---|
위치 |
URL의 |
URL 경로의 일부 |
사용 목적 |
필터링, 정렬, 페이징 등 조건 전달 |
특정 리소스 식별 |
일반적인 예시 |
|
|
사용 방식 |
선택적(optional) |
필수적(mandatory, 리소스 식별용) |
언제 Query와 Parameter를 사용할까?
-
리소스를 식별하거나 특정 항목에 접근할 때: 경로 파라미터를 사용합니다. 예를 들어, 사용자 ID, 제품 ID와 같은 고유 식별자를 통해 특정 리소스를 조회할 때 경로 파라미터를 사용하는 것이 적합합니다.
-
리소스의 일부 속성을 필터링하거나 정렬할 때: 쿼리를 사용합니다. 예를 들어, 여러 제품 중 특정 카테고리만 검색하거나, 특정 기준으로 데이터를 정렬하는 경우 쿼리 파라미터가 적합합니다.