'@PathVariable'은 스프링 프레임워크에서 웹 요청의 URL 경로(Path)에서 변수를 추출하는데 사용되는 어노테이션이다. 주로 RESTful 웹 애플리케이션에서 URL 경로에 변수를 포함하여 데이터를 전달할때 활용된다.
- 일반적으로 URL은 다음과 같은 구조를 가진다: http://example.com/somePath/{variable}
- {variable} 부분은 동적으로 변하는 값이며, @PathVariable을 사용하여 컨트롤러 메서드의 파라미터와 연결하여 추출할 수 있다.
예를 들어,
@Controller
public class MyController {
@GetMapping("/greet/{name}")
public String greetUser(@PathVariable("name") String name) {
return "Hello, " + name + "!"; // 예: "Hello, John!"과 같은 문자열 반환
}
}
- 위의 코드에서 @GetMapping 어노테이션은 /greet/{name} 경로로 들어오는 GET 요청을 처리하는 메서드를 정의한다.
- 이때 {name} 부분은 사용자의 이름을 나타내는 동적인 변수다.
- @PathVariable("name")은 이 동적인 변수를 컨트롤러 메서드의 name 파라미터와 바인딩한다. 즉, /greet/John과 같은 요청이 들어오면 name 파라미터는 "John"이라는 값으로 설정된다.
- 따라서 @PathVariable을 사용하면 URL 경로에 포함된 변수를 쉽게 추출하여 사용할 수 있다.
- 이를 활용하여 RESTful API에서 리소스 식별 등에 사용할 수 있다.