스프링 부트 프로젝트를 진행하던 중 URL주소에 파라미터를 넘겨야 할 경우가 생겼다.
그 방법들에 대해서 알아보겠다.
말 그대로 URL 경로 중간에 파라미터를 삽입하는 방법이다.
변수에 따른 하위 페이지가 존재하는 경우 사용하기 용이하다.
이 외에 ~/user/124/watches/
, ~/user/125/watches/
등등
@GetMapping("/user/{userId}/watches/")
public String userWatchList(@PathVariable String userId, Model model){
User user = userService.findUser(userId).orElse(null);
List<Watch> watchList = userService.watchesByUser(user);
model.addAttribute("watchList", watchList);
return "watch_list.html";
}
@PathVariable
아노테이션을 추가한다.@PathVariable
아노테이션은 생략 가능하다.URL 주소 마지막에 ?
키워드를 붙힌 후, 변수를 넘겨주는 방식이다.
다양한 변수를 간편하게 넘길 수 있다.
@GetMapping("/{userId}/watch/new/")
public String addWatch_get(@PathVariable String userId, Model model, @RequestParam String id, @RequestParam String pw){
model.addAttribute("userId", userId);
if (userService.checkIdPw(id, pw))
return "watch_createForm.html";
else return "redirect:/user/"+userId+"/watches/";
}
@PathVariable
아노테이션을 추가한다.