728x90
반응형
클라이언트 → 서버
전달되는 데이터에 대해 유효성 검증 수행
유효성 검증 실패 → 에러(`MethodArgumentNotValidException`)를 발생하도록 처리하는 라이브러리
전체적인 흐름
- 클라이언트) 데이터 담아서 `@RequestBody`, `@RequestParam`, `@PathVariable Annotation` 이용 → API 호출
- 서버) `@Valid` or `@Validation Annotation` → 데이터 유효성 검증
- 검증 통과
- 서버) 성공 응답(Response) 데이터 전송 → 클라이언트
- 검증 실패
- `MethodArgumentNotValidException` 에러 발생
- `@ControllerAdvice @ExceptionHandler` 로 구성한 `GlobalException`에서 해당 에러 캐치
- `@ExceptionHandler`(`MethodArgumentNotValidException.class`)로 에러 발생시키는 것 X 에러 응답(Response) 데이터 전송 → 클라이언트
- 클라이언트-서버 통신 완료
- 검증 통과
데이터 유효성 관련 Annotation
@Valid
- Java에서 유효성 검증으로 제공해주는 어노테이션
- `import javax.validation.Valid`;
- 유효성 검증 실패 → 에러(`MethodArgumentNotValidException`)를 발생
@Validated
- Spring Framework에서 유효성 검증으로 제공해주는 어노테이션
- `import org.springframework.validation.annotation.Validated`;
- `@RequestBody`와 함께 사용, JSON 형태로 전송받은 데이터에 대해 유효성 검증하기 위해 사용
- 유효성 검증 실패 → 에러(`MethodArgumentNotValidException`)를 발생
- 의존성 추가: `implementation 'org.springframework.boot:spring-boot-starter-validation'`
728x90
반응형
'BE > Spring | SpringBoot' 카테고리의 다른 글
Spring Webflux, WebClient (0) | 2025.02.23 |
---|---|
스프링부트 개념정리(이론) (0) | 2024.04.29 |
[Spring Boot 3.x 를 이용한 RESTful Web Services 개발] 섹션 6. RESTful API 설계 가이드 (0) | 2024.04.29 |
[Spring Boot 3.x 를 이용한 RESTful Web Services 개발] 섹션 5. Java Persistence API 사용 (0) | 2024.04.29 |
[Spring Boot 3.x 를 이용한 RESTful Web Services 개발] 섹션 4. Spring Boot API 사용 (0) | 2024.04.29 |