Spring/Spring boot

@PathVariable 어노테이션

챛채 2023. 5. 31. 15:41

파라미터를 전달하는 방법 중 주로 사용하는 경우는

  1. http://xxx.x.x?index=1&page=2
  2. http://xxx.x.x/index/1

두가지인데 1번은 파라미터의 값과 이름을 함께 전달하는 방식으로 주로 게시판에서 페이지 또는 검색 정보를 함께 전달할 때 사용하고 2번은 Restp api에서 값을 호출할 때 주로 사용한다.

spring에서는 이런 전달인자를 처리하는데 2가지 방법을 제시한다.

@RequestParam과 @Pathvariable이다.

1번은 @RequestParam 어노테이션과 연관이 있는데 url뒤에 붙는 파라미터의 값을 가져올 때 사용한다.

  • 단일 파라미터 변환
@GetMapping("getDriver")
public String viewName(@RequestParam("name")String name, @RequestParam("name2")String name2){
}

/getDriver?name="name에 담긴 value" 

url이 전달될 때 name 파라미터(name에 담긴 value)를 받아오게 되는데 @RequestParam("실제 값") String 설정할 변수 이름이렇게 표현을 한다.

 

2번과 같은 URL을 처리할 때는 @PathVariable를 사용하게 되는데 

@PostMapping("delete/{idx}")
@ResponseBody
public void testMethod(@PathVariable("idx") int id ){
	return testService.deleteId(id);
}

PathVariable의 경우 url에서 각 구분자에 들어오는 값을 처리해야할 때 사용한다.