폼(form)
형태의 HTTP Body와 요청 파라미터들을 생성자나 Setter
로 바인딩하기 위해 사용된다.query string
및 form 형식이 아닌 데이터는 처리할 수 없다.BindException
이 발생하게 된다.Parameter
값 만을 가져올 수도 있다.Setter
로 값을 세팅한다.Setter
를 이용해 값을 할당한다. @Getter
@Setter
@ToString
public class Board {
private int index;
private String writer;
private String contents;
public Board(int index) {
this.index = index;
}
public Board(int index, String writer) {
this.index = index;
this.writer = writer;
}
}
출처: https://mangkyu.tistory.com/72 [MangKyu's Diary:티스토리]
💡 @ModelAttribute를 사용하면 HTTP 파라미터 데이터를 Java 객체에 매핑한다. 따라서, 객체의 필드에 접근해 데이터를 바인딩할 수 있는 생성자나 setter 메서드가 필요하다.
출처
[Spring] @RequestBody vs @ModelAttribute
[Spring] @RequestBody, @ModelAttribute, @RequestParam의 차이