Validation 사전적 의미를 찾아보자

출처 : https://ko.wikipedia.org/wiki/밸리데이션
밸리데이션 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 밸리데이션(Validation)이란 '특정 공정이 설정된 규격과 품질 요소들을 만족하고 있는 제품을 지속적으로 생산하고 있음을 보증하기 위한 증거를 문서화하는 것'
ko.wikipedia.org
시스템이 사전 설정된 허용 기준에 부합하는 결과를 일관되게 만들어내는 점을 문서화된 프로그램으로 정의하는 것이라 나와 있다.
즉, 서버에 들어온 데이터가 서버에서 요구하는 스펙이랑 일치하는지의 검사를 말한다.
그렇다면 왜 이러한 검사를 해야할까?
null 인 데이터를 받아 객체를 인스턴스화를 하면 인스턴스를 만들 수 없게 되어 ArgumentException 에러와 NullPointException이 발생할 것이다.
이러한 에러를 방지하기 위해 우리는 아래와 같은 null 체크 조건을 넣어야 한다.

객체 지향 프로그래밍에는 무수히 많은 객체들이 서로 메시지를 받으며 소통한다. 이러한 프로그래밍은 꼭 Validation이 필요하다.
Spring에서는 어떻게 검사하는데?
Spring 프레임워크에서 지원해주는 validation에 대표적으로 null 조건과 패턴 조건 크기 조건 등이 있는데 Dto를 사용해 데이터를 주고 받을 때의 데이터 검사를 해준다.

더 많은 에노테이션을 알고 싶으면 아래 링크를 클릭해주세요.
참조 : https://reflectoring.io/bean-validation-with-spring-boot/
Validation with Spring Boot - the Complete Guide
A tutorial consolidating the most important features you'll need to integrate Bean Validation into your Spring Boot application.
reflectoring.io
이러한 조건을 선언해주면 입력되는 데이터의 유효성 검사를 하게되는데 이 조건과 일치 하지 않으면 예외가 발생하여 예외처리를 해주어야 한다.
이러한 예외도 글로벌 하게 처리 할 수 있고 중요한 message들을 따로 내려줄 수 있다.

'Spring Boot' 카테고리의 다른 글
@Builder 사용시 초기화 필드는 어떻게 될까? (0) | 2022.09.05 |
---|---|
[Spring boot] 순환 참조 이슈 (0) | 2022.08.12 |
[Spring Boot] Spring 에서 비동기 처리 방식은 어떻게 하고 왜 사용해야 할까? (0) | 2022.07.31 |
[Spring Boot] Interceptor 는 어떻게 사용하고 왜 사용해야 할까? (0) | 2022.07.30 |
[Spring Boot] Filter를 왜 사용해야하고 어떻게 사용하는 걸까? (0) | 2022.07.30 |
[Spring Boot] 예외처리를 왜 해야하고 어떻게 처리할까? (0) | 2022.07.29 |
ModelMapper (0) | 2022.07.20 |
[Spring Boot] Spring Dependency Injection 동작 원리와 Ioc Container를 알아보자 (0) | 2022.03.02 |