-
@RequestParam와 @PathVariable가 비슷하게 생기는 바람에 착각해서 머리가 터질뻔해서 정리를 해두면 기억에 오래 남을 것 같아서 기록하게 되었습니다.
둘다 Controller에서 파라미터를 넘겨 받을때 사용합니다.
@RequestParam
Controller에서 파라미터를 넘겨받을때 사용
@GetMapping("/member/memberInfo") public String memberInfo(@RequestParam(value = "member",required = false)Member member,Model model){ log.info("member info : " + member.getNickname()); model.addAttribute("member",member); return "member/memberInfo"; }
위와같이 사용하여 정보들을 넘겨 받을때 사용함
파라미터의 키 값이 없을때를 대비하여 required = false 옵션을 추가해줄 수 있다.
@PathVariable
www.localhost8080/post/2/update 과 같은 url에서 파라미터를 받기위해 사용함
@GetMapping("/post/{postId}/update") public String updateForm(@PathVariable("postId") Long postId, Model model){ Post post = postService.findOne(postId); PostDto postDto = new PostDto(); postDto.toDto(post); model.addAttribute("postDto",postDto); model.addAttribute("postId",postId); return "post/postUpdate"; }
post/{postId}/update에서 {postId} 부분에 있는 파라미터를 받을 수 있다
rest api에서 많이 사용됨
'프레임워크 > Spring' 카테고리의 다른 글
댓글