스프링은 자바를 기반으로하며 데이터처리에 관해서 클래스, 객체를 생성하여 처리를 한다.
예를 들어, DTO(자바에서 처리하는 데이터형식), Entity(DB에서 처리하는 데이터 형식) 등 여러가지 데이터를 처리한다.
이때, 데이터가 과연 유효한지 데이터 검증을 할 필요가 있다.
그래서 관련된 애너테이션들을 알아보려고한다.
작성은 해당 데이터를 처리하는 클래스에 작성하면 된다.
보통은 직렬화 작업시 많이 사용된다(json -> class instance)
1. Dependancy
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
2. Annotation
- @Size(min=1, max=3) : 필드의 크기(문자열 길이, 컬렉션 크기 등)
- @NotNull : 필드 값이 null 값 불가
- @NotEmpty : 필드 값(문자열, 컬렉션, 맵 등)이 비어있지 않아야함을 체크
- @NotBlank : 필드 값, 문자열이 비어있거나 공백 금지
- @Max(value = 1000) : 최대값
- @Min(value = 0) : 최소값
- @Pattern : 정규식에 맞는 값만 허용
- @Email : 이메일 주소 형식이어야 허용
- @AssertTrue / @AssertFalse : 참/거짓 판단
- @Valid : 클래스에 입력하는 부분에 작성하여 바로 조건 검사, 조건 안맞을 시 Exceptoon 발생.
이외에도 여러가지가 있지만 자주 쓰이는 것을 토대로 제작하였다.
이후, 유효성 검사를 하고자하는 데이터를 받는 클래스의 인자에 @Valid 설정을 하면 유효성검사가 실시된다.
'Server Development > Client API' 카테고리의 다른 글
Object to Network and vise versa (0) | 2023.04.27 |
---|---|
RestTemplete (0) | 2023.04.03 |
Restful API (0) | 2023.03.27 |
API (0) | 2023.03.27 |