1. 개요

  오늘은  @pathvariable 어노테이션에 대해 알아보려고 합니다.

  @pathvariable 는 Spring3에서 추가된 기능 중 하나에요. 어떤 기능이냐구요? 말 그대로 URL 경로에 변수를 넣어주는거에요~

  RESTful 서비스의 URI 형태가 바로 이런것?ㅎㅎ

 

2. 어떻게 사용합니까?

 @RequestMapping의 URL 정의 부분과 Method 내의 Parameter 부분에 정의를 하여 사용이 가능합니다.
 
 읭? 다시 한번더 설명을! :)
 
 @RequestMapping 어노테이션 값으로 {템플릿변수} 를 사용합니다.
 @PathVariable 어노테이션을 이용해서 {템플릿 변수} 와 동일한 이름을 갖는 파라미터를 추가하면 됩니다.
 
 RequestMapping 어노테이션에 변수를 포함하고 있구요.
 이들 변수는 @PathVariable 어노테이션이 적용된 동일한 이름을 갖는 파라미터에 매핑됩니다.
 
 예시를 볼까요?
 
@RequestMapping(value = "/user/email/{email}", method=RequestMethod.GET)
 
 이런 형식일때 아래와 같이 바꿔주면 제대로 들어옵니다.
 
@RequestMapping(value = "user/email/{email:.+}", method = RequestMethod.GET)
public ModelAndView getUserByEmail(@PathVariable("email") String email) {
 
 

3. 사용 시 주의할 점 있나요?

 -. null이나 공백값이 들어가는 parameter라면 적용하지 말도록!
 -. Spring 에서 @PathVariable 사용하여 값을 넘겨받을때 값에 . 가 포함되어 있으면 .포함하여 그뒤가 잘려서 들어온다는 것!
 주의합시다..ㅎㅎ