728x90
서버에서 클라이언트의 요청에 대하여 유효성을 검증해야하는 부분이 필요하다. 이때 스프링에서 @Valid 라는 어노테이션으로 검증을 수행하는데 Valid 중에서 위 세가지 어노테이션을 비교해보고자한다.
차이점
@NotNull | @NotEmpty | @NotBlank | |
Null | X | X | X |
길이가 0인 값(ex: "") | O | X | X |
공백(ex: " ") | O | O | X |
위 세가지 어노테이션은 bean validation (Hibernate Validation)에서 제공하는 표준 Validationdmfh 클라이언트의 파라미터 중 null 값인지 체크하거나 공백 유무를 체크하는데 사용된다.
@NotNull의 경우 Null값은 허용하지 않지만 "", " " 은 허용한다. 따라서 위 어노테이션은 정확히 구분해서 상황에 따라 적절한 어노테이션으로 적용해야한다.
예외 처리 방법
@Valid @RequestBody DTO 객체 형태로 요청을 받았다면 유효성 검사에서 실패 시 MethodArgumentNotValidException 이 발생한다. 따라서 ControllerAdvice로 예외를 잡아서 Error 메시지를 클라이언트에 리턴해준다.
728x90
'스터디 > Spring' 카테고리의 다른 글
[Spring] Filter와 Interceptor 의미와 차이 (0) | 2022.10.06 |
---|---|
[Spring] @ResponseBody와 @ModelAttribute 차이점 (0) | 2021.08.17 |
[Spring] 싱글톤 패턴 (Singleton pattern) (0) | 2021.08.17 |
[Spring] Spring Container, BeanFactory 그리고 ApplicationContext (0) | 2021.08.17 |
[Spring] PSA (Portable Service Abstraction) 란? (0) | 2021.07.04 |
댓글