Spring

[Spring] Validation & Exception 처리

P.젤리비 2022. 8. 12.
반응형

Validation이란?

  • 프로그래밍에 있어서 가장 필요한 부분이다.
  • exception이 발생하는 것을 방지 하기 위해서 미리 검증하는 과정을 말한다.
  • 검증해야할 값이 많은 경우 코드가 길어진다.
  • 구현에 따라서 달라질 수 있지만 Service Logic과 분리가 필요하다.
  • 흩어져 있는 경우 어디에서 검증을 하는지 알기 어려우며 재사용의 한계가 있다.
  • 검증 Logic이 변경되는 경우 테스트코드 등 참조하는 클래스에서 Logic이 변경되어야 하는 부분이 발생할 수 있다.
  • 스프링에서는 이러한 부분을 어노테이션을 제공하여 일부 해결할 수 있다.

 

Validation 관련 어노테이션

  • @Size : 문자 길이 측정(int Type 불가)
  • @NotNull : null 불가
  • @NotEmpty : null, "" 불가
  • @notBlank : null, "", " " 불가
  • @Past : 과거 날짜
  • @PastOrPresnet : 오늘이거나 과거 날짜
  • @Future : 미래 날짜
  • @FutureOrPresent : 오늘이거나 미래 날짜
  • @Pattern : 정규식 적용
  • @Max ; 최대값
  • @Min : 최소값
  • @AssertTrue / False : 별도의 Logic 적용
  • @Valid : 해당 object Validation 실행

 

Custom Validation

  • AssertTrue / False 와 같은 method 지정을 통해서 Custom Logic 적용 가능
  • ConstraintValidator를 적용하여 재사용이 가능한 Custom Logic 적용 가능

 

Exception 처리

  • 에러 페이지
  • 4XX Error(요청 에러) 또는 5XX Error(서버 에러)
  • Client가 200 외에 처리를 하지 못할 때는 200을 내려주고 별도의 에러 message 전달

 

Exceptiom 처리 관련 어노테이션

  • @ControllerAdvice : Global 에외 처리 및 특정 package / Controller 예외처리
  • @ExceptionHandler : 특정 Controller의 예외 처리
반응형

'Spring' 카테고리의 다른 글

[Spring] Server to Server 통신 - GET  (0) 2022.08.16
[Spring] Filter & Interceptor + 비동기  (0) 2022.08.12
[Spring] AOP  (0) 2022.08.10
[Spring] IoC (제어 역전) / DI (의존성 주입)  (0) 2022.08.09
[Spring] Object Mapper  (0) 2022.08.09

댓글

💲 추천 글