implementation 'org.springframework.boot:spring-boot-starter-validation'
Item 클래스에 Bean Validation 애노테이션을 적용
@Data
public class Item {
private Long id;
@NotBlank
private String itemName;
@NotNull
@Range(min=1000,max = 1000000)
private Integer price;
@NotNull
@Max(9999)
private Integer quantity;
public Item() {
}
public Item(String itemName, Integer price, Integer quantity) {
this.itemName = itemName;
this.price = price;
this.quantity = quantity;
}
}
검증 애노테이션 의미
@NotBlank : 빈값 + 공백만 있는 경우를 허용하지 않음.
@NotNull : null 을 허용하지 않겠다.
@Range(min = 1000, max = 1000000) : 범위 안의 값이여야한다.
@MAx(9999) : 최대 9999까지 가능하다.
그외에도 다양한 어노테이션이 존재한다.
이전에 우리가 해봤던 것처럼 error.properites에 메시지를 등록해두면 적용되는 것을 확인 할 수 있다.
#Bean Validation 추가
NotBlank={0} 공백X
Range={0}, {2} ~ {1} 허용
Max={0}, 최대 {1}
이게 제대로 적용되는 이유는 Bean Validation 메시지 찾는 순서에서 확인 할 수 있게된다.
이런 순으로 찾아가기 떄문에 애노테이션의 messge를 직접 입력해두던가 아니면 properties에서 찾아서 적용이된다.
@NotBlank(message = "공백은 입력할 수 없습니다.")
private String itemName;