Validation

금은체리·2023년 11월 16일
0

Spring

목록 보기
21/49

Validation 이란?

📌 프로그래밍을 하는데에 있어서 가장 중요한 부분 중 하나!

  • Java는 null 값에 대한 접근에 대해 NullPointerException 오류가 발생하기 때문에 이러한 부분을 예방하기 위해 Validation(검증 과정)이 필요
  • Spring에서는 null 확인 뿐 아니라 문장의 길이 측정과 같은 다른 검증 과정도 쉽게 처리 할 수 있도록 Bean Validation 제공
  • Bean Validation

    • 간편하게 사용할 수 있는 여러 애너테이션 제공

      애너테이션설명
      @NotNullnull 불가
      @NotEmptynull, ""불가
      @NotBlanknull, "", " "불가
      @Size문자 길이 측정
      @Max최대값
      @Min최소값
      @Positive양수
      @Negative음수
      @EmailE-mail 형식
      @Pattern정규 표현식
  • 프로젝트 설정

    • build.gradle : validation
    implementation 'org.springframework.boot:spring-boot-starter-validation'

Validation 적용

  1. ProductRequestDto
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;
}
  1. @Valid
  • Bean Validation을 적용한 해당 Object validattion 실행
  • Controller에 적용해줘야함
  • 데이터 검증을 하고 싶은 Dto앞에다 @Valid 달아야함
@PostMapping("/validation")
@ResponseBody
public ProductRequestDto testValid(@RequestBody @Valid ProductRequestDto requestDto) {
    return requestDto;
}
  • JSON 데이터
{
    "name" : "Robbie",
    "email" : "Robbie@gmail.com",
    "price" : 1234,
    "discount" : -1234,
    "link" : "54321",
    "max" : 10,
    "min" : 2
}
  • Cookie 값이 없어서 오류가 뜸 ➡️ 직접 넣어줘야 함

  • Value 더블클릭 후 전체 복사

3.

  • Postman 우측의 Cookies 클릭

  • localhost 입력 후 Add domain 클릭

5.

  • Add Cookie 클릭

6.

  • value 부분에 2에서 복사한 JWT 넣어 줌

  • Name 부분도 동일하게 진행

  • Send를 누르면 반환 되는 걸 확인할 수 있다
profile
전 체리 알러지가 있어요!

0개의 댓글