๐ ์ค๋์ ํ์ต ํค์๋
- Validation
๐ฅ Validation ์ด๋?
ํ๋ก๊ทธ๋๋ฐ์ ํ๋ ๋ฐ ์์ด์ ๊ฐ์ฅ ์ค์ํ ๋ถ๋ถ์ ๋๋ค.
ํนํ, Java ๋ null ๊ฐ์ ๋ํ ์ ๊ทผ์ ๋ํด NullPointrException ์ค๋ฅ๊ฐ ๋ฐํํ๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ๋ถ๋ถ์
์๋ฐฉํ๊ธฐ ์ํด Validation (๊ฒ์ฆ ๊ณผ์ ) ์ด ํ์ํฉ๋๋ค.
Spring ์์๋ null ํ์ธ๋ฟ ์๋๋ผ ๋ฌธ์์ ๊ธธ์ด ์ธก์ ๊ณผ ๊ฐ์ ๋ค๋ฅธ ๊ฒ์ฆ ๊ณผ์ ๋ ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์๋๋ก
Bean Validation ์ ์ ๊ณตํ๊ณ ์์ต๋๋ค.
๐ฅ Bean Validation
๊ฐํธํ๊ฒ ์ฌ์ฉํ ์ ์๋ ์ฌ๋ฌ ์๋ํ ์ด์ ์ ์ ๊ณตํด์ค๋๋ค.
- @NotNull : null ๋ถ๊ฐ
- @NotEmpty : null, "" ๋ถ๊ฐ
- @NotBlank : null, "", " " ๋ถ๊ฐ
- @Size : ๋ฌธ์ ๊ธธ์ด ์ธก์
- @Max : ์ต๋๊ฐ
- @Min : ์ต์๊ฐ
- @Positive : ์์
- @Negative : ์์
- @Email : E-mail ํ์
- @Pattern : ์ ๊ท ํํ์
โ๏ธ build.gradle
implementation 'org.springframework.boot:spring-boot-starter-validation'
Validation ์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ build.gradle ์ dependencies ๋ถ๋ถ์ ์ถ๊ฐํด ์ค๋๋ค.
๐ฅ Bean Validation ์ ์ฉ ์์
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;
}
๐ ์ค๋์ ํ๊ณ
์ฐํด๋ ๋๋ฌ์ผ๋๊น ๋ค์ ์ด์ฌํ ๊ณต๋ถ๋ฅผ ํ๋ ์ต๊ด์ ์ํด ์ด์ฌํ ๋ ธ๋ ฅํ์!
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
02/16(๊ธ) ๋ด์ผ๋ฐฐ์์บ ํ Java 38์ผ์ฐจ TIL - OAuth (0) | 2024.02.16 |
---|---|
02/15(๋ชฉ) ๋ด์ผ๋ฐฐ์์บ ํ Java 37์ผ์ฐจ TIL - .gitignore (0) | 2024.02.15 |
02/13(ํ) ๋ด์ผ๋ฐฐ์์บ ํ Java 35์ผ์ฐจ TIL - ResponseEntity (0) | 2024.02.14 |
02/08(๋ชฉ) ๋ด์ผ๋ฐฐ์์บ ํ Java 34์ผ์ฐจ TIL - Query Methods (0) | 2024.02.08 |
02/07(์) ๋ด์ผ๋ฐฐ์์บ ํ Java 33์ผ์ฐจ TIL - ํ๋ ์์ํฌ (0) | 2024.02.07 |