Spring Boot) 유효성 검사

나나·2022년 4월 1일
0

스프링 부트

목록 보기
7/12
post-thumbnail

유효성 검사

서비스의 비즈니스 로직이 올바르게 동작하기 위해, 사용되는 데이터에 대한 사전 검증 작업이 필요하다. 이러한 작업을 유효성 검사, 혹은 데이터 검증이라 부르며, 흔히 Validation이라고 한다.

Validation은 들어오는 데이터에 대하 의도한 형식의 값이 제대로 들어오는지 체크하는 과정을 뜻하며, 여러 계층에서 발생하는 흔한 작업이다.

❗ 일반적인 Validation의 문제점

  • 어플리케이션 전체적으로 분산되어 존재한다.
  • 코드의 중복이 심하다. (복잡해지는 코드)
  • 비즈니스 로직에 섞여 있어 검사 로직 추적이 어렵다.

✅ Bean Validation / Hibernate Validator

앞서 나온 문제를 해결하기 위해, Java에서 2009년부터 Bean Validation이라는 데이터 유효성 검사 프레임워크를 제공했으며, 이는 어노테이션을 통해 다양한 데이터를 검증할 수 있는 기능을 제공한다.

Hibernate Validator는 Bean Validation 명세에 대한 구현체이며, Spring Boot의 유효성 검사 표준은 Bibernate Validator를 채택한다.

💡 이전 버전의 Spring Boot에서는 starter-web에 validation이 포함되어 있었지만, 2.3버전부터는 starter-validation을 따로 추가해줘야한다.

Validation 관련 어노테이션

어노테이션의미
@Size문자의 길이 조건
@NotNullnull값 불가
@NotEmpty@NotNull + ""값 불가
@NotBlank@NotEmpty + " "(공백)값 불가
@Past과거 날짜
@PastOrPresent@Past + 오늘 날짜
@Future미래 날짜
@FutureOrPresent@Future + 오늘 날짜
@Pattern정규식을 통한 조건
@Max최대값 조건 설정
@Min최소값 조건 설정
@AssertTrue / AssertFalse참/거짓 조건 설정
@Valid해당 객체의 유효성 검사

참고)
어라운드허브 스튜디오

profile
코린이의 둥당둥당 개발일지

0개의 댓글