Christmas Pikachu post 요청시 validation처리 하는 방법
개발일지/스프링

post 요청시 validation처리 하는 방법

ZI_CO 2022. 12. 2.

validation 사용시 셋팅할것

https://zico8282.tistory.com/entry/Spring-boot-validation-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95

 

Spring boot - validation 사용하는 방법

Validation 이란 프로그래밍에 있어서 매우 필요한 부분에 하나 이다. 특히 자바에서는 null 값에 대해서 접근 하려고 할때 예외 발생.. 여러가지 검증하는 부분을 Validation 체크라고 한다. 검증해야

zico8282.tistory.com

 

psot요청시에는 해당하는 객체의 DTO에서 처리를 해준다.

 

 

 

1. @NotBlank(message = "이름을 입력해주세요") 적용시 (post)

빈칸의 데이터를 막아준다.

실패

성공

 

 

 

 

 

 

2.@Size(min = 2, message = "post요청시 이름은 최소 2자 이상 적어주세요") 적용시 (post)

실패

성공

 

 

 

3.@Email 적용시

실패

 성공

 

 

 

4. @Pattern(regexp = "^\\d{2,3}-\\d{3,4}-\\d{4}$"

적용시(전화번호 형태의 정규식 표현  010-1234-1234)

실패

 

 

성공

package com.example.validation.dto;

import javax.validation.constraints.Email;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;

import lombok.Data;

@Data
public class User {
//////////////////////////////////////////////////////////////////////////////////////////////////////	
	@NotBlank(message = "이름을 입력해주세요") // post요청시 name에공백 요청 불가 
	@Size(min = 2, message = "post요청시 이름은 최소 2자 이상 적어주세요") // post요청시 name 최소 2글자 이상 요청 가능
	private String name;
	
//////////////////////////////////////////////////////////////////////////////////////////////////////	
	@Max(value = 100, message = "죄송하지만 100세는 가입 불가합니다.")  // post요청시 최대 정수 100미만으로 요청 가능 101값은 요청 불가
	@Min(value = 10, message = "중학생 이후 가입 가능합니다.")  // post요청시 최소 정수 10미만 요청 불가 요청 불가 ( 즉 , 10 ~ 100까지 입력 가능함)
	private int age;
	
//////////////////////////////////////////////////////////////////////////////////////////////////////	
	@Email // post 요청시 이메일형식으로만 요청가능
	private String email;
	
//////////////////////////////////////////////////////////////////////////////////////////////////////	
	@Pattern(regexp = "^\\d{2,3}-\\d{3,4}-\\d{4}$",message = "핸드폰 번호의 양식과 맞지 않습니다.") // post요청시 전화번호의 정규식표현에 맞지 않으면 message에 값을 응답함
	private String phoneNumber;
	
//////////////////////////////////////////////////////////////////////////////////////////////////////	
	@Override
	public String toString() {
		return "User [name=" + name + ", age=" + age + ", email=" + email + ", phoneNumber=" + phoneNumber + "]";
	}
	
	
	

}

'개발일지 > 스프링' 카테고리의 다른 글

SpringBoot - Annotations(어노테이션 모음)  (0) 2022.12.04
get 요청시 validation처리 하는 방법  (0) 2022.12.02
Spring boot - validation 사용하는 방법  (0) 2022.12.02
PUT 요청  (0) 2022.11.30
post 요청 - pathvariable  (0) 2022.11.30

댓글