@Valid

2013. 1. 24. 20:51OpenSource/Spring MVC

반응형


@Valid 이녀석...뭔지만 대~충 알고 있었던 녀석이다.
야근을 하며..조금 더 깊게 파 보았다 ㅋㅋ


우선 괜찮은 글귀를 하나보자!~

아!~단순한 소스가 아닌 여러가지가 얽혀있는 우리의 멋진 소스+ㅁ+/

Valid...언제 발동 하는 녀석인가???
상황은 이러하다..
1) 예를 들어 클라이언트가 즉, 사용자가 등록 창에서 title을 10자 이상 적어야하는데 적지 않았다면?!
2) 예외가 난다. 그럼 이제 소스에서 발동을 한다.

@ExceptionHandler(MethodArgumentNotValidException.class)  이 annotation을 쓰면

MethodArgumentNotValidException.class



3) 예외가 나서 잡아내면!!
List<FieldError> fieldErrors = error.getBindingResult().getFieldErrors();
error객체를 통해서 어떤 에러인지 가져온다!
그 에러객체를 가지고 내부적인 로직을 타서 가공 한뒤에!
리턴을 해준다. 그것을 가지고 alert()창을 뜨우면 끝!~

현재 보고있는 소스는 json형태이다. 그래서 결과는 @ResponseBody에 담기게 되어진다.
담긴 것을 가지고 내부적으로 websquare이라는 녀석이 자바스크립트에서 alert을 띄우게 된다.

여기에서 중요한 내부적으로 가공을 한다는 것은 메시지번들로 미리 properties에 에러 메시지들을 만들어 놓고 key와 value로 가져와서 처리를 해준다.

토비책에도 그런식으로 하는 방법이 있다고 소개하고 있다. 볼륨2~+ㅁ+/

퇴근을 해야하니..이만...끝~~~

반응형