Annotation Interface AdminOnly


@Target({METHOD,TYPE}) @Retention(RUNTIME) @Inherited @Documented @PreAuthorize("hasAuthority(\'ROLE_ADMIN\')") public @interface AdminOnly
Enforces access restriction to endpoint(s) to users with role admin.

It enforce role requirements with PreAuthorize using Spring login and documents this behaviour with SecurityRequirement for OpenAPI.

Code annotated with AdminOnly

          @GetMapping("test")
          @AdminOnly
          ResponseEntity testMethod()
     
is equivalent of code annotated with both PreAuthorize and SecurityRequirement
          @GetMapping("test")
          @PreAuthorize("hasRole('ROLE_ADMIN')")
          @SecurityRequirement(name = "admin")
          ResponseEntity testMethod()