DataBinder - @InitBinder
InitBinder 를 사용하면
바인딩 설정, 포메터 설정, Validator 설정을 할 수 있는데,
바인딩 설정을 하면, 원하는 값을 허용하거나 거부하거나 설정을 할 수 있다.
Validator 는 객체 위에 @NotBlank 이런 어노테이션으로는 할 수 없는
커스텀한 검증을 하고 싶을때 커스텀 Validator 를 생성 할 수 있다.
이런식으로 커스텀한 Validator 를 만들 수 있다.
supports 에 커스텀할 객체를 설정하고,
validate 에 실제 검증할 로직을 적어준다.
addValidators 에 넣어주면된다.
아니면 , Validator 자체를 빈으로 등록하고 , (@Component)
이런식으로도 검증할 수 있다.
이런식으로 쓸 경우에는 interface를 구현할 필요도 없다.
마지막으로, InitBinder 에 value 를 줄 수 있는데,
위 경우에는 Event 객체를 받았을때만 이 initBinder 를 쓸 수 있도록 할 수 있다.
예외 처리 핸들러 @ExceptionHandler
예외처리 핸들러를 생성 할 수 있다.
EventException 이라는 커스텀한 RuntimeException 을 만들었다고 가정을 하면,
다른 핸들러에서 EventException을 발생 시키면, 해당 예외처리 핸들러가 실행이 된다.
@ControllerAdvice
모든 컨트롤러에 적용을 하고 싶으면 ControllerAdvice 를 사용한다.
이런식으로 특정 컨트롤러에서만 적용할 수도 있다.
'Spring > MVC' 카테고리의 다른 글
핸들러 메소드 - 응답 데이터 (0) | 2020.10.05 |
---|---|
핸들러 메소드 - 세션 데이터 (0) | 2020.10.05 |
핸들러 메소드 - 요청 데이터 (0) | 2020.10.05 |
Spring MVC 핵심 기술 - 커스텀 어노테이션 (0) | 2020.10.02 |
Spring MVC 핵심 기술 - 요청 맵핑 (0) | 2020.10.02 |