Spring

[Spring] @RequestParam 와 @PathVariable

퉁그리 2022. 1. 3. 22:33

controller 단에서 클라이언트에서 url에 파라미터를 같이 전달 하는 경우가 잦다.

그 중 가장 흔한 방법 두가지가 있는데 바로 @ResquestParam 과 @PathVariable이다.

 

@RequestParam

ex)/url?param1=2&param2="***"

 

RequestParam에는 4가지의 파라미터를 갖고 있다.

 

- defaultValue : 값이 없을 때 기본으로 전달할 값

- name : uri에서 바인딩할 파라미터의 이름

- value : uri에서 바인딩하여 별칭으로 정할 값

- required : 필수적으로 값이 전달되어져야 함을 결정하는 값

 

@GetMapping("getParam")
public String viewName( @RequestParam("param1") String param1
				,@RequestParam(value = "param2", required=false, defaultValue="df") String param2){
	...
}

 

RequestParam에 key값이 존재하지 않을 경우 에러가 발생할 수있다.

이를 방지하기 위해 defaultValue를 설정할 수 있는데, 이를 위해 required를 직접 false로 명시해야만 한다.

 

@PathVariable

ex)/url/{param1}

 

PathVariable을 파라미터를 하나밖에 못쓴다는 특징이 있다. 때문에 id등의 키값을 넘길때 쓰는 경우가 많다.

 

@GetMapping("/hello/{param}")
public String getParam(@PathVariable(value="param") String param){}

 

출처 : 스프링 핵심 원리 - 기본편 - 인프런 | 학습 페이지 (inflearn.com)