본문 바로가기

Server Development/Client API

Class Validation

 

스프링은 자바를 기반으로하며 데이터처리에 관해서 클래스, 객체를 생성하여 처리를 한다.

예를 들어, 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