728x90
반응형
SpringMVC으로 화면에서 파라미터를 전달받을 때 일반적으로 @RequestParam 혹은 @PathVariable 을 이용해서 다음과 같이 처리한다.
@RequestMapping("/{id}")
String showUserForm(@PathVariable("id") String id, Model model) {
User user = userRepository.findById(id);
model.addAttribute("user", user);
return "userForm";
}
Spring에서는 DomainClassConverter 를 이용해서 코드를 더 단순화하게 해준다.
@RequestParam이나 @PathVariable로 받은 인자와 뒤에 선언한 Entity 타입을 추론해서 해당 Repository의 findById 로 조회된 객체를 리턴해준다.
@RequestMapping("/{id}")
String showUserForm(@PathVariable("id") User user, Model model) {
model.addAttribute("user", user);
return "userForm";
}
이렇게 코드를 작성하면 DispatcherServlet으로 매핑되기 전에 조회된 엔티티 객체를 바로 사용할 수 있다.
https://docs.spring.io/spring-data/data-commons/docs/2.3.0.RELEASE/reference/html/#core.web.basic
728x90