쿼리파라미터와 동적라우팅 URL 방식의 차이
- 쿼리 파라미터 방식
- URL에 ? 이후로 키-값 쌍으로 데이터를 전달합니다.
- API 라우트에서는 request.nextUrl.searchParams로 값을 추출합니다.
- 라우트 파일 위치: /app/api/sensor/route.ts
- URL: `/api/sensor?sensorId=${sensorCodeId}`
- 동적 라우팅 방식
- URL 경로의 일부로 값을 전달합니다.
- API 라우트에서는 params 객체로 값을 추출합니다.
- 라우트 파일 위치: /app/api/sensor/[sensorCodeId]/route.ts
- URL: `/api/sensor/${sensorCodeId}`
쿼리 파라미터가 적합한 경우
- 선택적(optional) 파라미터가 여러 개일 때
- 필터링, 정렬, 검색 등 부가적인 옵션을 전달할 때
- 페이지네이션(예: ?page=2&limit=10)
- URL을 깔끔하게 유지하고 싶을 때
- 같은 엔드포인트에 여러 파라미터가 조합될 때
동적 라우팅(/path/[param])이 적합한 경우:
- 리소스의 고유 식별자를 표현할 때(ID, 슬러그 등)
- RESTful API 설계를 따를 때
- 경로가 리소스의 계층 구조를 표현할 때
- URL이 의미적으로 중요할 때 (SEO에 유리)
- 필수적인(required) 파라미터일 때
현재 상황(ID를 받아서 검색하는 경우)에 대한 추천
동적 라우팅 방식이 더 적합합니다.
이유
- 특정 센서 코드라는 리소스에 직접 접근하는 패턴입니다.
- RESTful API 설계 원칙에 더 부합합니다.
- sensorCodeId는 필수 파라미터이며 리소스의 식별자입니다.
- URL이 더 의미적이고 명확해집니다.
728x90
'코딩공부 > Next.js' 카테고리의 다른 글
[Next.sj & Node.js] Slack을 통한 메시지 발송 및 파일업로드 (0) | 2025.03.14 |
---|---|
Next.js와 HeidiSQL을 사용한 파일첨부 방법 (1) | 2024.12.06 |
Next.js의 오류처리 (4) | 2024.10.31 |
Next.js의 Layout과 Template (1) | 2024.10.31 |