본문 바로가기
Spring Boot

RequestParam vs PathValue 차이

by 코딩diary 2025. 2. 13.

@RequestParam

쿼리 스트링 또는 폼 데이터에서 값을 가져옴

URL에서 ?key=value 형식으로 전달되는 값.

값이 없어도 되는 선택적이며, 기본값 설정 가능.

@GetMapping("/dogs")
public String getDogInfo(@ReqeustParam String name) {
	return "반려견 이름: " + name;
}

 

요청 예시:

Get /dogs?name=몰리

 

결과:

반려견 이름: 몰리

 

 

@PathVariable

URL 경로의 일부를 변수로 사용

/{value} 형태로 값을 전달

@GetMapping("/dogs/{name}")
public String getDogInfo(@PathVariable String name) {
	return "반려견 이름: " + name;
}

 

요청 예시:

GET /dogs/몰리

 

결과:

반려견 이름: 몰리

 

 

구분 @RequestParam @PathVariable
위치 ?key=value 형식의 쿼리 스트링 /{value} 형식의 URL 경로
선택 가능 여부 기본값 설정 가능 (선택적) 필수 (URL 패턴과 일치해야 함)
용도 검색, 필터링 등 옵션 값 전달 특정 리소스 식별

 

 

예시

// @RequestParam 사용 예시: 필터 적용
@GetMapping("/dogs")
public String getDogs(@ReqeustParam(required = false) String breed) {
	return breed != null ? "견종: " + breed : "모든 견종 목록";
}

// @PathVariable 사용 예시: 특정 개 정보 조회
@GetMapping("/dogs/{id}")
public String getDog(@PathVariable Long id) {
	return "반려견 ID: " + id;
}