Spring Boot에서 유효성 검사(=validation)는 입력 데이터의 신뢰성을 보장하기 위해 필수로 사용된다. 클라이언트가 요청한 데이터의 형식과 조건이 적절한지 확인하는 작업이 중요하기 때문!
DTO(Data Transfer Object)에 유효성 검사 어노테이션을 추가하여, 필드별로 검증을 수행할 수 있다.
@NotBlank // 공백 및 빈 문자열 허용 X
@Email // 이메일 형식 검사
@NotNull
@Min // 최소값 설정
@Max // 최대값 설정
위와 같은 어노테이션을 사용할 수 있다. 괄호 안에 검증에 대한 메시지를 추가할 수도 있다.
예)
@NotBlank(message = "이름은 필수 입력값입니다.")
private String name;
Controller에서는 @Valid 또는 @Validated 어노테이션을 활용하여 DTO 검증할 수 있다.
@Valid
@Valid
예시 코드)
@PostMapping("/create")
public ResponseEntity<String> createUser(@Valid @RequestBody UserDTO userDTO) {
return ResponseEntity.ok("회원 생성 성공!");
}
컨트롤러에서 직접 에러 메시지를 관리하는 대신, 전역 예외 처리 (@RestControllerAdvice)를 활용하여 한 곳에서 처리.