스프링 부트 유효성 검증 애너테이션

김성수·2022년 11월 17일
0

스프링 및 부트

목록 보기
4/9

애너테이션

@Email

  • 클라이언트의 요청 데이터에 유효한 이메일 주소가 포함되어 있지 않을 경우 유효성 검증의 실패로 클라이언트의 요청이 거부(reject)됨.
  • 유효한 이메일 주소인지를 검증한다.
  • 유효성 검증에 실패하면 내장된 디폴트 에러 메시지가 콘솔에 출력됨.
  • import를 javax.validation.constraints.Email로 해야한다.
    org.hibernate.validator.constraints.Email의 import는 Dprecated되었다.

@Valid

  • 메서드의 매개변수 앞에 @Valid애너테이션이 붙으면 객체에 유효성 검증을 적용해준다.

@RequestBody

  • JSON 형식의 Request Body를 DTO클래스의 객체로 변환시켜주는 역할을 한다.
    • 이 말의 의미는 클라이언트 쪽에서 전송하는 Request Body가 JSON형식이어야 한다는 의미이다.

@ResponseBody

  • JSON 형식의 Response Body를 클라이언트에게 전달하기 위해 DTO 클래스의 객체를 Response Body로 변환하는 역할을 함.
  • Handler Method의 반환타입이 ResponseEntity라면, 생략가능하다.

유효성 검증시 필요한 애너테이션

@NotBlank

  • null 값이나 공백(””), 스페이스(” “) 같은 값들을 모두 허용하지 않음.
  • 유효성 검증에 실패하면 @Email 과 같이 해당 애너테이션의 message 애트리뷰트에 지정한 문자열이 에러 메시지로 콘솔에 출력 됩니다.

@Pattern

  • regexp로 지정해놓은 정규식에 유효한지 검증해준다.
  • 다른 검증 애너테이션과 마찬가지로 유효성 검증 실패시 디폴트 에러 메세지가 출력된다.

@Min(숫자)

  • 요청파라미터(RequestParameter, @RequestParam) 과 같이 유효성 검증에 쓰이는 애너테이션
  • 단순히 이 애너테이션만 가지고는 올바르게 사용할 수 없고, @Validated 애너테이션이 있어야 사용 가능하다.

@Validated

  • 유효성 검증과 관련된 애너테이션
  • 소스 코드를 보면, 클래스, 메서드, 파라미터 안에 사용가능하다.

유효성 검증 의존라이브러리 추가

build.gradle 파일의 dependencies탭에

implementation 'org.springframework.boot:spring-boot-starter-validation'

위 코드를 추가한다.

여기에 포함된 애너테이션을 비롯해서 다른 유용한 유효성 애너테이션 더 보기
출처 :https://bamdule.tistory.com/35

profile
쌩수 Git >> https://github.com/SsangSoo?tab=repositories

1개의 댓글

comment-user-thumbnail
2022년 11월 20일

커밋 ㅇ

답글 달기