@PathVariable
은 스프링 프레임워크에서 제공하는 어노테이션으로, URL의 일부를 메서드 매개변수로 받아오는 데 사용한다. 이를 통해 동적인 URL 패턴을 처리할 수 있다.
사용자의 ID를 URL로부터 받아와서 해당 사용자의 정보를 조회하는 경우, 다음과 같이 컨트롤러에서 @PathVariable
을 사용한다.
@GetMapping("/users/{id}")
public String getUser(@PathVariable("id") Long userId) {
...
}
위 코드에서 @GetMapping("/users/{id}")
는 /users/
다음 부분을 id
라는 이름의 변수로 처리하겠다는 의미이다. 또한 @PathVariable("id") Long userId
는 id
라는 이름의 변수를 Long
타입의 userId
매개변수로 받아오겠다는 의미이다.
❗이 때, { }
안의 변수명과 @PathVariable(" ")
안의 이름은 일치해야 한다.
만약 /users/123
이라는 요청이 들어온 경우, userId
는 123이라는 값을 가지게 된다. 이렇듯 @PathVariable
을 사용하면 URL의 일부를 변수로 활용하여 동적인 웹 페이지를 구현할 수 있다.