반응형
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 |
댓글