[Spring] @RequestParam, @ModelAttribute

조태산·2023년 8월 24일
0

@RequestParam, @ModelAttribute 이 두가지 어노테이션은 클라이언트의 전달값을 핸들러의 매개변수로 매핑할 때 사용된다.

@RequestParam

-> 클라이언트가 요청 시, 전달하는 값을 Controller의 매개변수로 맵핑할 때 사용한다.
@Controller
public class DemoController {
	
    @GetMapping("/")
    public String getDemoPage(@RequestParam("name") String name) {
    	System.out.println("이름 : " + name);
        return "Demo"
    }
}

위의 코드에서 클라이언트가 ?name=demo 로 요청한다면, Controller의 name 매개변수에 demo가 매핑된다.

@ModelAttribute

-> 클라이언트가 전달하는 값을 객체 형태로 매핑할 때 사용한다.
@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 객체로 바인딩된다.

profile
만년개발초보

0개의 댓글