본문 바로가기
Spring

@RequestParam와 @PathVariable은 무엇이 다른가?

by 밍상 2021. 11. 5.

스프링으로 프로젝트를 진행하다보면 url을 매핑할 때 PathVariable과 RequestParameter를 사용할 때가 있다.

이 두개는 무엇이 다른걸까?

주로 PathVariable은 특정 인덱스에 대한 조회,

RequestParam은 특정 값으로 필터링할때 사용한다. 

 

RequestParameter는 경로 뒤에 입력 데이터를 함께 제공하는 식으로 사용한다.

사용 방법

www.url/post?post_id=3

실제 사용 (http://localhost:8080/reservation/api/displayinfos 까지가 url 이고, 뒤에 'categoryId=3'이 RequestParam이다.)

http://localhost:8080/reservation/api/displayinfos?categoryId=3

 

PathVariable은 경로에 포함된 것 처럼 사용한다.

사용 방법

www.url/post/3

실제 사용 (http://localhost:8080/reservation/api/displayinfos 까지가 url 이고, 뒤에 '1'이 PathVariable이다.)

http://localhost:8080/reservation/api/displayinfos/1

 

사용에 있어서는 이런 차이가 있다.

 

잘못된 url이 입력됐을 경우 PathVariable은 404에러를 발생하고, RequestParam은 빈 리스트를 반환할 것이다.

 

자신이 설계하는 서비스에 맞게 RequestParam과 PathVariable을 사용하면 될 것 같다.

 

'Spring' 카테고리의 다른 글

Spring - @Autowired를 권장하지 않는 이유  (0) 2022.05.12
Spring - RestTemplate  (0) 2022.03.11
Spring - AOP  (0) 2021.09.28
Spring - 빈 등록  (0) 2021.09.27
이름이 [~~]인, 둘 이상의 fragment들이 발견되었습니다.  (0) 2021.08.30