13.3.1 사용자 정의 애너테이션 생성
사용자 정의 애너테이션은 JSR-380처럼 도메인 클래스의 멤버 변수에 선언할 수 있는 제약 사항입니다. 또한 내장된 제약 사항이 아니므로 사용자가 직접 생성하여 사용할 수 있습니다. 사용자 정의 애너테이션을 생성하는 형식은 다음과 같습니다.
@Constraint(validatedBy=유효성 검사 클래스.class)
@Target(속성)
@Retention(속성)
@Documented
public @interface 사용자 정의 애너테이션 이름 {
String message() default "출력할 오류 메시지";
Class<?>[] groups() default {};
Class<?>[] payload() default {};
}
유효성 검사를 위한 사용자 정의 애너테이션을 만들 때 반드시 있어야 하는 필수 속성은 message, groups, payload입니다.
▼ 표 13-3 사용자 정의 애너테이션의 필수 속성
속성 |
설명 |
message |
유효성 검사에서 오류가 발생하면 반환되는 기본 메시지입니다. |
groups |
특정 유효성 검사를 그룹으로 설정합니다. |
payload |
사용자가 추가한 정보를 전달하는 값입니다. |