이 게시글은 남궁성강사님의 '스프링의 정석' 강의를 정리, 요약했습니다
WebDataBinding
- 요청한 값을 실제 객체에 binding하는 과정의 중간 과정
- 타입변환, 데이터 검증을 한 결과와 에러를 bindingResult에 저장하여 Controller에서 처리할 수 있도록(예외처리 등)해준다.
- 파라미터에 BindingResult는 binding할(검증할) 객체 바로 뒤에 선언 ‘검증할’객체는 @Valid(or@ModelAttribute등..)의 annotation으로 표시해줘야 한다. ExceptionHandler 때는 Exception 뒤에 그냥 선언해도 됨.
- url과 매핑된 메서드의 파라미터에 BindingResult를 선언할 때는 form으로 값이 들어올 때. url에 직접 작성하면 Controller의 매핑된 메서드까지 못 가고 ErrorHandler로 넘어간다.