Annotation을 만들어서 서버에 요청받았을때 유효성 검증을 하고 원하는 메세지를 줄 수 있도록 해보자.
다음은 Pattern Annocation 을 이용하여 원하는 패턴의 정규식만 검증하도록 만든 Annotation 이다.
이름에 대한 유효성 검증으로서 2~15문자수의 한글이나 영문만 가능하도록 적용한 예제이다.
다음과 같이 필드에 적용하여 테스트 해볼 수 있다.
유효하지 않은 요청을 하게 되면 다음과 같이 에러메세지를 준다 ..!
에러메세지의 파라미터들은 필요에따라서 커스텀마이징을 하면 된다.(아래 1번 링크 참조)
Pattern이 아니라 직접 구현해서 검증하고 싶다면
@Constraint(validatedBy = {NameValidator.class} ) Annodation 를 사용하고
ConstraintValidator 인터페이스를 직접 구현하면 된다.
구현은 isValid메소드에서 검증하여 true/false를 반환하도록 하면 된다.
Spring Boot 환경에서
Hibernate-Validator 에는 각각의 Validation 에 대해 구현이 되어 있다.
ex) @Pattern
1) Validation 으로 인한 Exception 메세지 설정 및 Exception 발생 처리 과정 설명
https://granger.tistory.com/34
참고
https://www.baeldung.com/spring-mvc-custom-validator
https://stackoverflow.com/questions/40920191/validation-of-requestparam-using-custom-validcode-annotation-doesnt-work
https://blog.codeleak.pl/2012/03/how-to-method-level-validation-in.html
'Spring' 카테고리의 다른 글
Spring Boot 기존 요청 스레드 처리하고 안전하게 종료하기 (0) | 2020.01.16 |
---|---|
Spring Boot - 등록된 Bean 객체 사용하기 (0) | 2019.12.17 |
Spring Boot POST Encoding EUC-KR 한글깨짐(UTF-8)현상 (1) | 2019.11.18 |
Spring Data MongoDB Document (Proxy)객체 저장 후 로드 시 에러 발생 (0) | 2019.08.14 |
1) Spring Boot Validation - Annotation 메세지 & Exception 에러 발생시 동작 설명 (0) | 2019.06.14 |
댓글