728x90
Spring Framework에서는 데이터의 유효성 검사를 위해 spring-boot-starter-validation 의존성을 사용합니다. 이를 통해 클라이언트에서 전송된 데이터의 유효성을 검증할 수 있으며, 주로 DTO(Data Transfer Object)에 어노테이션을 사용하여 검증 규칙을 정의합니다.
Spring Validation 기본 설정
1. 의존성 추가: spring-boot-starter-validation 의존성을 프로젝트에 추가합니다.
- Gradle의 경우 build.gradle에 다음과 같이 추가합니다.
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-validation'
}
- Maven의 경우 pom.xml에 다음과 같이 추가합니다.
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
</dependencies>
Validation 어노테이션 사용
1. DTO 클래스에 Validation 어노테이션 적용
public class UserDto {
@NotBlank(message = "이름은 필수 입력 값입니다.")
private String name;
@Email(message = "이메일 형식에 맞지 않습니다.")
private String email;
// getters and setters
}
2. Controller에서 @Valid 또는 @Validated 어노테이션 사용
@PostMapping("/users")
public ResponseEntity<String> createUser(@Valid @RequestBody UserDto userDto) {
// 사용자 생성 로직
return ResponseEntity.ok("사용자가 생성되었습니다.");
}
주요 Validation 어노테이션
@NotNull: null 값이 아니어야 함
@NotEmpty: null이나 빈 문자열이 아니어야 함
@NotBlank: null, 빈 문자열, 공백만 있는 문자열이 아니어야 함
@Email: 이메일 형식이어야 함
@Size: 문자열, 배열 등의 크기가 지정된 범위 내에 있어야 함
@Min / @Max: 숫자 값의 최소값과 최대값을 지정
'웹개발 > spring && springboot' 카테고리의 다른 글
[JPA]JPA를 활용 조회, 수정, 삭제 (0) | 2024.04.03 |
---|---|
[Springboot]유효성 검사 에러 노출 (0) | 2024.04.03 |
스프링 웹서비스(SOAP) 서버단 구현 (1) | 2024.04.03 |
스프링 페이징 pageble (0) | 2024.03.30 |
SPRING 스케쥴러(Scheduler) (0) | 2024.03.28 |