ModelAttribute를 이용해 객체 형태로 파라미터를 전달 받을 수 있다.
스프링 MVC는 @ModelAttribute라는 애노테이션이 있다면 매개변수에 적힌 객체를 생성하고 해당 클래스의 프로퍼티의 setter를 모두 호출해서 파라미터의 값을 바인딩한다.
ex) 파라미터의 이름이 username이라면 객체 내의 setUsername을 호출.
@ResponseBody
@RequestMapping("/model-attribute-v1")
public String modelAttributeV1(@ModelAttribute HelloData helloData)
{
log.info("username={}, age={}", helloData.getUsername(), helloData.getAge());
return "ok";
}
@ResponseBody
@RequestMapping("/model-attribute-v2")
public String modelAttributeV2(HelloData helloData)
{
log.info("username={}, age={}", helloData.getUsername(), helloData.getAge());
return "ok";
}