Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.

Custom Java AEM annotation to do validations.

Avatar

Level 1

Hi everyone,

 

I created a custom annotation that I would like when a method annotated with it is called, it automatically calls a service also created by me.

My Servlet

@MyValidator
public void doPost(@Nonnull SlingHttpServletRequest request, @Nonnull SlingHttpServletResponse response) throws ServletException, IOException {

 

My Annotation

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyValidator {
}

 

My Service

@Component
@Service(RecaptchaValidateService.class)
public class ValidatorServiceImpl implements RecaptchaValidateService {

//I will need to inject other services like other AEM service
@Reference
private HttpRequestService requestService;

@Override
public void validate() {
...get first the SlingHttpServletRequest and then validate the request
if (isNotValid) throw new RuntimeException("my message")
}
}



The idea is to make a validation annotation. But I don't know how to add a listener for this annotation in OSGi.

Do you have any idea how I can do it?

1 Reply