Java에서 객체의 속성을 검증하기 위한 표준 프레임워크를 말한다.
주로 Jakarta EE(구 Java EE) 및 Spring과 같은 프레임워크에서 사용되며, 애플리케이션에서 데이터 무결성을 보장하는 역할을 한다.
import jakarta.validation.constraints.*;
public class User {
@NotNull // null이면 안됨
private String name;
@Min(18) // 최소값 제한
@Max(100) // 최대값 제한
private int age;
@Email // 이메일 형식 체크
private String email;
@Size(min = 8, max = 20) // 문자열 길이 제한
private String password;
// getter, setter 생략
}
@NotNull
null ❌
모든 타입 허용 ⭕
@NotEmpty
null ❌
빈 값 ("") ❌
@NotBlank
null ❌
공백 (" ") ❌. 하나 이상의 문자를 포함해야 한다.
빈 값 ("") ❌
Spring Boot에서는 @Valid 또는 @Validated 를 사용하여 요청 데이터를 자동으로 검증할 수 있다.
(예)
import jakarta.validation.Valid;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/users")
public class UserController {
@PostMapping
public String createUser(@Valid @RequestBody User user) {
return "User created successfully!";
}
}
➡️ 예시 코드 그림으로 쉽게 이해하기
