본문 바로가기
Today/Study

23/11/15

by shulk 2023. 11. 15.

이제 숙련과제에서 회원 가입 부분을 구현을 해보려 하는데 데이터 검증하고,예외처리부분을 알아야한다.

Validation 검증 

1) 유효성 검사를 위해 DTO의 적용 하고 싶은 필드에 사용 하고 싶은 어노테이션 하면 된다.

예시 코드를 보면

* username 4~10자까지만 허용

* username을 a~z 랑 0~9 만 허용

* 만약 클라가 3자 or 13자 보냈을경우 서버에서 massage에 적힌 메세지 보낸다.

@Size(min=4, max=10 , message ="4자 이상 10자 이하이어야 합니다")
@Pattern(regexp ="^[a-z0-9]$")
private String username;

 

 

 

Validation 예외처리

1) 유효성 검사를 하는데 오류 있을시 예외 처리를 하는 방법은 컨트롤러의 DTO 앞에 @Vaild 해준다.

2) BindingResult는 예외가 발생하면 객체에 오류에 대한 정보가 담긴다.

3) hasErrors() 메소드는 BindingResult 객체에서 발생한 오류가 있는지 여부를 확인하는거다. (반환 타입보면 boolean)

4)  BindingResult 의 메소드 getFieldErrors() vs getAllErrors()

getFieldErrors는 필드에 대한 오류만 반환하고 getAllErrors는 필드뿐 아니고  DTO에 대한 모든 오류를 반환한다!

 

'Today > Study' 카테고리의 다른 글

23/11/17  (0) 2023.11.17
23/11/16  (0) 2023.11.16
23/11/14  (0) 2023.11.14
23/11/10  (0) 2023.11.10
23/11/09  (0) 2023.11.09