UnexpectedTypeException

알파로그·2023년 4월 11일
0

Error

목록 보기
24/37

Unexpected / Type / Exception

예상하지 못한 / 타입 / 예외

직역해보면 타입이 맞지않아서 발생한 오류라고 짐작할 수 있다.

✏️ 발단

  • Post 요청을 매핑하는 method 를 만들어 실행해보니 아래와 같은 message 가 출력되었다.
jakarta.validation.UnexpectedTypeException: 
		HV000030: 
		No validator could be found for constraint 'jakarta.validation.constraints.NotBlank' 
		validating type 'java.lang.Integer'. 
		Check configuration for 'attractive'
	
  • 내가 만든 form 객체가 제대로 작동하지 않았다는 이야기 같다.
package com.lldj.gram.boundedContext.likeable.form;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import org.hibernate.validator.constraints.Range;

@Data
@AllArgsConstructor
public class LikeableAddForm {

    @NotBlank
    @Size(min = 4, max = 20)
    private String instagramName;

    @NotBlank
    private Integer attractive;
}

✏️ 원인

  • 메시지를 살펴보면 Integet 타입이 문제라는것같은데 아무리 살펴봐도 안될 이유가 없어보였다.
  • 구글링을 통해 확인해본결과 @NotBlank 는 String 타입에만 사용하는 어노테이션이라고 한다.

✏️ 문제 해결

  • @NotBlank 에서 @NotNull 로 바꿔주니 문제가 해결되었다.

⚠️ 참고로 @Size 도 String 타입에만 사용되는 어노테이션이다.

  • 숫자타입에 사용할 땐 @Range 를 사용하면 된다.
profile
잘못된 내용 PR 환영

0개의 댓글