Error
[Spring Boot] @NotNull @NotBlank @NotEmpty 설정했는데 null 이어도 동작할 때
난감
2024. 7. 18. 17:17
728x90
요청 dto에 @NotBlank 어노테이션을 적용했으나 해당 속성에 null을 입력해도 요청이 정상적으로 작동했다.
CategoryReqDto.java
public class CategoryReqDto {
@NotBlank(message = "카테고리 이름을 입력해야합니다.")
private String name;
@NotBlank(message = "카테고리 타입을 선택해야합니다.")
private String type;
public Category toEntity() {
return Category.builder()
.name(name)
.type(type)
.build();
}
}
해결 방법
build.gradle의 dependencies에 의존성을 추가한다.
implementation 'org.springframework.boot:spring-boot-starter-validation'
그리고 해당 dto를 사용하는 컨트롤러의 매개변수에서 @RequestBody 앞에 @Valid 어노테이션을 추가한다.
public ResponseEntity<Long> createCategory(@PathVariable Long ledgerId, @Valid @RequestBody CategoryReqDto categoryReqDto){
Long createCategoryId = categoryService.save(ledgerId, categoryReqDto);
return ResponseEntity.ok(createCategoryId);
}
Validation 라이브러리는 예외를 방지하기 위해 미리 검증하는 과정을 수행한다.
@Valid 어노테이션은 해당 객체에 대해 유효성 검사를 실행한다.
반응형