-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
메소드 선언 시 BindingResult의 위치
21.09.09 00:13 작성 조회수 254
0
강의에서 BindingResult를 사용할 때 객체 바로 뒤에 선언을 해야 한다고 하셨는데, 이게 꼭 전체 중 2번째가 아니어도 괜찮은가요? 예를 들면
public String addItem(Model model, @ModelAttribute Item item, BindingResult bindingResult) {
// ...
}
이러한 방식으로 선언이 가능한지 궁금합니다.
제가 알고 있기로는 매개변수의 순서가 다르면 메소드 오버로딩 때문에 원하는 메소드가 실행되지 않는 것으로 알고 있는데 다른 규칙이 더 적용되고 있는지 궁금합니다.
답변을 작성해보세요.
1
OMG
2021.09.09
안녕하세요. Mx님, 공식 서포터즈 OMG입니다. 검증을 하지 않을 때는
public String addItem(Model model, @ModelAttribute Item item)
public String addItem( @ModelAttribute Item item, Model model)
위 2개가 상관이 없지만
BindingResult로 검증할 때는 알고계신것처럼 검증 객체 뒤에 BindingResult가 위치해야하며 다른 규칙은 별도로 존재하지 않는 것으로 알고 있습니다.
public String addItem(Model model, @ModelAttribute Item item , BindingResult bindingResult)
public String addItem( @ModelAttribute Item item , BindingResult bindingResult, Model model)
관련하여 검증 객체가 복수인 상황에서의 방식도 알아두시면 좋을 것 같아 영한님의 설명있는 링크 첨부합니다.
https://www.inflearn.com/questions/245721
감사합니다.
답변 1