[Spring Boot] Chapter.10 유효성 검사와 예외 처리

굿거리·2023년 6월 25일
0

Validation

  • 문자열 검증

    • @Null : null만 허용.
    • @NotNull : null 허용 x. "", " "는 허용.
    • @NotEmpty : null, "" 허용 x.
    • NotBlank : null, "", " " 허용 x
  • 최댓값 / 최솟값 검증

    • BigDecimal, BigInteger, int, long 타입 등 지원.
    • @DecimalMax(value = "$numberString") : $numberString보다 작은 값을 허용.
    • @DecimalMin(value = "$numberString") : $numberString보다 큰 값을 허용.
    • @Min(value = $number) : $number 이상의 값 허용.
    • @Max(value = $number) : $number 이하의 값 허용.
  • 값의 범위 검증

    • BigDecimal, BigIntteger, int, long 등의 타입 지원.
    • @Positive : 양수 허용.
    • @PositiveOrZero : 0을 포함한 양수 허용.
    • @Negative : 음수 허용.
      @NegativeOrZero : 0을 포함한 음수 허용.
  • 시간에 대한 검증

    • Date, LocalDate, LocalDateTime 등의 타입 지원.
    • @Future : 현재보다 미래의 날짜를 허용.
    • @FutureOrPresent : 현재를 포함한 미래의 날짜 허용.
    • @Past : 현재보다 과거의 날짜를 허용.
    • @PastOrPresent : 현재를 포함한 과거의 날짜 허용.
  • 이메일 검증

    • @Email : 이메일 형식을 검사. ""는 허용.
  • 자릿수 범위 검증

    • BigDecimal, BigInteger, int, long 등의 타입을 지원.
    • @Digits(integer = $number1, fraction = $number2) : $numbe1의 정수 자릿수와 $number2의 소수 자릿수를 허용.
  • Boolean 검증

    • @AssertTrue : true인지 체크. null은 체크 X.
    • @AssertFalse : false인지 체크. null값은 체크 X.
  • 문자열 길이 검증

    • @Size(min = $number1, max = $number2) : $number1 이상 $number2 이하의 범위를 허용.
  • 정규식 검증

    • @Pattern(regexp = "$expression") : 정규식을 검사. 정규식은 자바의 java.util.regex.Pattern 패키지의 컨벤션을 따름.

예외와 에러

  • Checked Exception
    • 반드시 예외 처리 필요
    • 확인 시점 : 컴파일 단계
    • 대표적인 예외 클래스 : IOException, SQLException
  • Uncheked Exception
    • 명시적 처리를 강제하지 않음
    • 실행 중 단계
    • RuntimeException, NullPointerException, IllegalAragumentException, IndexOutOfBoundException, SystemException
profile
개발자를 향해

0개의 댓글

관련 채용 정보