Programming/Spring

[Spring] @PathVariable

성일만 2015. 1. 9. 18:01

@PathVariable



Spring으로 REST API를 구현하면서 알게되었다.

@PathVariable은 스프링3 부터 지원되는 기능이라고 한다.


@RequestMapping의 URL에 {}로 들어가는 패스 변수(Path Variable)를 받는다.

기본적으로 user_id가 seongilman이라는 사용자를 조회할 때 아래처럼 작성을 한다.


기본적인 GET 방식

http://url/user?user_id=seongilman


@RequestMapping(value = "/user", method = RequestMethod.GET)

public ResultVO getUserInfo(HttpServletRequest request, HttpServletResponse response){

String user_id = request.getParameter("user_id");

return resultVO;

}


하지만 파라미터를 URL 경로에 포함시키는 방식으로 하면 아래와 같이 사용한다.


@PathVariable Annotation 사용

/user/seongilman


@RequestMapping(value = "/user/{user_id}", method = RequestMethod.GET)

public ResultVO getUserInfo(@PathVariable("user_id") String user_id){

...

return resultVO;

}


주의사항은 null이나 공백이 들어가는 parameter를 받을경우는 인식을 못 한다고 하며,

@PathVarable String user_id 보다는 @PathVariable("user_id") String user_id 처럼

받는 것이 좋다고 한다. @PathVariable 사용시 주의점