
build.gradle 파일에 dependencies 추가
implementation 'org.springframework.boot:spring-boot-starter-validation'
공통적인Controller 부분 생성
@PostMapping("/validation")
public String validation(
@RequestBody @Valid Validation requestBody
){
return "정상";
}
@valid: jakarta.validation 를 사용해야한다 @RequestBody @Valid Validation requestBody@NotNull@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class Validation {
@NotNull
private String notNull;
}
@NotEmpty@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class Validation {
@NotBlank
private String notBlank;
}
@NotBlank@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class Validation {
@NotBlank
private String notBlank;
}
⚠️주의점
tip : clinet로부터 데이터를 받을때는 기본형 데이터타입(null존재 유무)을 쓰지 않는게 좋다
@Notnull
private int number;
@Notnull검사에 걸리지 않음private Integer number@NotBlank
private Integer number;
@Length(min=?, max=?)public class Validation {
@Length(min=4)
@NotNull
private String length;
}
@Min() , @Max()public class Validation {
@Min(10)
@Max(20)
private Integer minMax;
}
@Range(min=?, max=?)public class Validation {
@Range(min=10, max=20)
private Integer range;
}
@Size(min=? max)public class Validation {
@Size(min=2, max=4)
private Integer[] size;
}
@Pattern(regexp=정규식)public class Validation {
@Pattern(regexp="^[a-zA-Z]*$")
private String pattern;
}
8개에 해당하는 Validation 검사 결과
