PathVariable을 사용하면 리소스 경로에 식별자를 넣어서 동적으로 URL에 정보를 담을 수 있다.
URL 경로의 중괄호 { }
안쪽에 변수를 담고, 그 변수를 @PathVariable(" ")
로 받아서 사용할 수 있다.
/board/{postId}
경로로 Get요청이 왔을때,
{postId}를 long postId
로 받아서 메소드 내에서 사용할 수있다.
@GetMapping("/board/{postId}")
public String showPost(@PathVariable long postId, Model model){
Post post = postRepository.findById(postId);
Long view = post.getViews(); //views : 조회수
post.setViews(++view);
model.addAttribute("post", post);
return "board/post";
}
long postId
와 이름을 맞춰준다. @GetMapping("/board/{postId}")
public String showPost(@PathVariable long postId, Model model){
//생략
return "board/post";
}
@PathVariable("url 이름")
을 따로 설정해준다. @PathVariable
괄호 안의 이름을 맞춰준다. @GetMapping("/board/{postId}")
public String showPost(@PathVariable("postId") long id, Model model){
//생략
return "board/post";
}
@GetMapping("/board/{postId}/find/{listNum}")
public String showPost(@PathVariable long postId, @PathVarible int listNum, Model model){
//생략
return "board/post";
}