데이터 검증 (@Valid), Record 클래스

ayboori·2024년 8월 30일
0

Spring

목록 보기
20/24

데이터 검증

설정

implementation 'org.springframework.boot:spring-boot-starter-validation'
  • Bean Validation
Annotation설명
@NotNullnull 불가
@NotEmptynull, “” 불가
@NotBlanknull, “”. “ “ 불가
@Size문자 길이 측정
@Max최대값
@Min최소값
@Positive양수
@Negative음수
@EmailE-mail 형식
@Pattern정규 표현식

@Valid 사용

RestController을 이용하여 @RequestBody를 가져올 때 검증하는 방법

@PostMapping("/validation")
@ResponseBody
public ProductRequestDto testValid(@RequestBody @Valid ProductRequestDto requestDto) {
    return requestDto;
}

이때 Valid 조건에 대한 세부 사항은 requestDto 객체 내에 정의를 해 둔다

package com.sparta.springauth.dto;

import jakarta.validation.constraints.*;
import lombok.Getter;

@Getter
public class ProductRequestDto {
    @NotBlank
    private String name;
    @Email
    private String email;
    @Positive(message = "양수만 가능합니다.")
    private int price;
    @Negative(message = "음수만 가능합니다.")
    private int discount;
    @Size(min=2, max=10)
    private String link;
    @Max(10)
    private int max;
    @Min(2)
    private int min;
}

Record 클래스

record 문법 참고

record를 활용한 DTO 생성

profile
프로 개발자가 되기 위해 뚜벅뚜벅.. 뚜벅초

0개의 댓글