@RequestParam, @ModelAttribute 이 두가지 어노테이션은 클라이언트의 전달값을 핸들러의 매개변수로 매핑할 때 사용된다.
@Controller
public class DemoController {
@GetMapping("/")
public String getDemoPage(@RequestParam("name") String name) {
System.out.println("이름 : " + name);
return "Demo"
}
}
위의 코드에서 클라이언트가 ?name=demo 로 요청한다면, Controller의 name 매개변수에 demo가 매핑된다.
@Data
public class TestModel {
private int id;
private String name;
}
@RestController
public class DemoController {
@GetMapping("/")
public String getDemoPage(@ModelAttribute DemoModel demoModel) {
System.out.println("번호 : " + demoModel.getId());
System.out.println("이름 : " + demoModel.getName());
return "demo";
}
}
위의 코드에서 클라이언트가 /?id=12&name=Cho 요청시, 각각의 값이 컨트롤러의 demoModel 객체로 바인딩된다.