사용자 정의 어노테이션 (Custom Annotation)
- @interface를 통하여 어노테이션 클래스를 작성 할 수 있다.
@Documented
@Constraint(validatedBy = CategoriesExistValidator.class)
@Target( { ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER })
@Retention(RetentionPolicy.RUNTIME)
public @interface ExistCategories {
String message() default "해당하는 카테고리가 존재하지 않습니다.";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
@Documented
@Constraint
- Constraint(validatedBy = CategoriesExistValidator.class)
- CategoriExistValidator라는 클래스를 통하여 @ExistCategories가 붙은 대상을 검증한다.
@Target
@Retention
- 어노테이션 유지 기간을 정한다.
- @Retention(RetentionsPolicy.RUNTIME)