Home [Spring] @RequestParam과 @PathVariable
Post
Cancel

[Spring] @RequestParam과 @PathVariable

@RequestParam과 @PathVariable


Controller에서 데이터를 전달받는 방법

controller단에서 데이터를 받아오는 타입에는 여러가지가 있다.

ServletRequest, ServletResponse, HttpSession을 이용한 Sevlet API,

WebRequest, MultipartRequest를 이용하는 Spring API,

그리고 Spring Annotation이 있다.

오늘은 그중에서도 Spring Annotation의 @RequestParam과 @PathVariable에 대해서 알아보자!

@RequestParam

  • 요청 파라미터를 넣어주는 어노테이션이며 http://localhost:8080?userId=test 형식의 url 주소로 파라미터를 전달받을 수 있다.
1
2
3
4
5
@GetMapping(value = "/")
public String test(
	@RequestParam(value = "userId", required = false) String userId
	) {
}

value 값에는 넘어오는 파라미터의 name값을 작성해주고

선언한 파라미터가 없는 경우 required = false를 작성하지 않았다면 400 에러가 발생한다.

@PathVariable

  • 파라미터를 URL 경로에 포함시키는 방법. 예를 들어 id로 해당하는 정보를 요청할 때의 url은 http://localhost:8080/test 이고 {} 중괄호에 명시된 값을 변수로 받을 수 있다.
  • 주로 RESTful 방식에서 사용된다.
1
2
3
4
5
@GetMapping(value = "/{userId}")
public String test(
	@PathVarialble("userId") String userId
	) {
}
  • 물론 @RequestParam 또는 @PathVariable 두가지를 복합적으로 사용하는 것도 가능하다
This post is licensed under CC BY 4.0 by the author.