🌿 중급 백엔드
쿼리 파라미터와 Path 파라미터의 차이
쉽게 이해하기
집 주소를 생각해보세요. '서울시 강남구 123번지'는 Path 파라미터처럼 필수 정보예요. 반면 '2층, 빨간 대문'은 쿼리 파라미터처럼 추가 정보죠. 주소가 없으면 집을 찾을 수 없지만, 추가 정보가 없어도 집은 찾을 수 있어요. URL도 똑같은 원리예요.
핵심 정리
URL에서 데이터를 전달하는 두 가지 방식으로, 필수 정보는 Path에, 선택 정보는 쿼리에 담아요.
자세히 알아보기
Path 파라미터는 URL 경로 자체에 포함되는 값이고, 쿼리 파라미터는 URL 끝에 `?` 뒤에 붙는 값이에요. 예를 들어 `/users/123`에서 `123`은 Path 파라미터고, `/users?id=123&name=kim`에서 `id`와 `name`은 쿼리 파라미터예요.
언제 무엇을 사용할까요? Path 파라미터는 리소스를 식별하는 필수 정보에 사용해요. 블로그 글을 조회한다면 `/posts/456` 처럼 글 번호를 Path에 넣죠. 반면 쿼리 파라미터는 필터링, 정렬, 검색 같은 선택적 조건에 사용해요. `/posts?category=tech&sort=latest` 같은 식이죠.
실무에서는 REST API 설계 원칙을 따라요. 사용자 정보를 가져오려면 `/users/123` (Path), 사용자 목록을 필터링하려면 `/users?age=20&city=seoul` (쿼리)처럼 구분해요. Path는 계층 구조를 나타내고, 쿼리는 부가 조건을 나타낸다고 생각하면 돼요.
쿼리 파라미터는 여러 개를 `&`로 연결할 수 있고, 순서는 중요하지 않아요. `/search?q=react&page=2`와 `/search?page=2&q=react`는 똑같아요. 반면 Path 파라미터는 순서가 중요해요. `/users/123/posts/456`와 `/posts/456/users/123`는 완전히 다른 의미죠. 올바른 구분이 API를 더 직관적이고 유지보수하기 쉽게 만들어요.