개발.log/framework

[SpringBoot] @RequestParam과 @PathVariable 차이

개발하는 주디씨 2023. 10. 11. 00:05

온보딩 과제를 수행하다보면서 느낀점은 아주 기본적인 것에서 실수하는 일이 생각보다 많다는 것이다. 다시금 CS 공부의 소중함을 깨닫고.. 오류해결 과정을 포스팅한다.

 

Resolved org.springframework.web.bind.MissingServletRequestParamterException

 

서버를 실행하고 API를 실행하니 바로 오류가 발생했다.

 

그 이유는.. PUT으로 mapping한다고 적어놓고, @RequestParam을 당당하게 적은 탓이다^^...@PutMapping은 @PathVariable로 리소스 id를 받아야한다.

 

 

controller에서 parameter를 받는 방법에는 여러가지가 있다. 그 중 가장 많이 사용하는 두 가지를 혼돈할 줄은 몰랐는데... 다시는 이런실수 하지않기를 다짐하며!! 외치자!!

 

@RequestParam

GetMapping과 주로 쓰이면서 URL주소에서 쿼리스트링을 가져올 때 사용함.

@PathVariable

PUT, DELETE mapping에서 주로 쓰이면서 URL주소 자체에서 동적으로 값이 들어가도록 설정할 때 사용함.