본문 바로가기
🍃SpringFrameworks/SpringMVC

[SpringMVC] 데이터 변환 / 검증

by inbeom 2023. 8. 19.
728x90

 💡 WebDataBinder

요청으로 넘어온 값들을 실제 객체에 binding하는 과정의 중간 역할

 

💡 1. 타입 변환

ex. sns=kakao&sns=daum&sns=insta는 String[]타입으로 저장되는데

binding된 파라미터가 String타입이면, “kakao, daum, insta”로 Spring이 자동 변환한다.

 

💡 2. 데이터 검증(Validation)

사용자 또는 서버의 요청(http request) 에서 잘못된 내용이 있는지 유효성 검사하는 단계

  • 객체를 검증하기 위한 인터페이스. 객체 검증기(validator)

 

 💡 BindingResult

  • 타입 변환, 데이터 검증의 결과와 에러를 저장하여 에러가 발생하더라도 Controller에서 처리하도록 함.
  • 매핑된 메서드의 파라미터 중, binding한 객체 바로 뒤에 선언해야 한다.
  • 에러 발생 시 에러가 발생한(=변환실패한) 파라미터의 값은 null. 에러는 발생하지만, 에러페이지에 넘어가지 않았을 뿐이다.

@InitBinder란?

  • WebDataBinder를 초기화하기 위한 메서드에 붙는 애노테이션으로 @RequestMapping과 같은 에너테이션이 붙은 요청 처리 메서드에 명령어나 form으로 넘어온 인자들을 채우기 위해 사용된다
728x90