Validation

어느 한 데이터의 값이 유효한지 확인하는 작업

예를 들어 이메일 양식이 맞지 않거나 하면 해당 값의 저장을 막을 수 있음

구현

크게 두 가지로 나뉘는데

  1. Java Bean Validation(어노테이션 기반)
  2. Spring Validator 인터페이스 구현을 통한 Validation

Java Bean Validation

스프링 부트에서는 간단하게 의존성 하나만 추가해주면 된다

implementation("org.springframework.boot:spring-boot-starter-validation")

스크린샷 2022-11-06 오전 11.14.06.png

Dto에 어노테이션으로 명시해준 후에 @RequestBody에 @Valid를 달면

유효성 검증을 한 후 검증이 통과되었을 때만 메서드 내부로 진입이 가능하다

실패 → MethodArgumentNotValidException을 Throw

Spring Validator 인터페이스 구현

유효성 검사를 수행하는 또 다른 방법은 Validator 인터페이스를 구현하는 클래스를 생성 후 스프링 빈으로 등록

이 방법을 사용하면 어노테이션 기반 검사에 비해 조금 더 세밀하게 검증이 가능하지만