RequiresAuthentication annotation interface doesn't work properly because it is not annotated using appropriate RetentionPolicy. It defaults to RetentionPolicy.CLASS, so controller methods annotated using @RequiresAuthentication don't see it in runtime. As a result, no controller method passes methodInfo.isRequiresAuthentication() check in BaseRestServer.HttpServer.serve().
Fix: Annotate RequiresAuthenticator interface with @Retention(RetentionPolicy.RUNTIME), as all other annotation interfaces in the package ru.skornei.restserver.annotations.
RequiresAuthenticationannotation interface doesn't work properly because it is not annotated using appropriateRetentionPolicy. It defaults toRetentionPolicy.CLASS, so controller methods annotated using@RequiresAuthenticationdon't see it in runtime. As a result, no controller method passesmethodInfo.isRequiresAuthentication()check inBaseRestServer.HttpServer.serve().Fix: Annotate
RequiresAuthenticatorinterface with@Retention(RetentionPolicy.RUNTIME), as all other annotation interfaces in the packageru.skornei.restserver.annotations.