강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

Mx님의 프로필 이미지
Mx

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

오류 코드와 메시지 처리4

메소드 선언 시 BindingResult의 위치

작성

·

366

0

강의에서 BindingResult를 사용할 때 객체 바로 뒤에 선언을 해야 한다고 하셨는데, 이게 꼭 전체 중 2번째가 아니어도 괜찮은가요? 예를 들면

public String addItem(Model model, @ModelAttribute Item item, BindingResult bindingResult) {
    // ...
}

이러한 방식으로 선언이 가능한지 궁금합니다.

제가 알고 있기로는 매개변수의 순서가 다르면 메소드 오버로딩 때문에 원하는 메소드가 실행되지 않는 것으로 알고 있는데 다른 규칙이 더 적용되고 있는지 궁금합니다.

답변 1

1

안녕하세요. 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

감사합니다.

Mx님의 프로필 이미지
Mx

작성한 질문수

질문하기