Annotation Interface OpenApi.SecurityRequirement

Enclosing class:
OpenApi

@Target({TYPE,METHOD}) @Retention(CLASS) @Repeatable(OpenApi.SecurityRequirements.class) @Documented @Inherited public static @interface OpenApi.SecurityRequirement
OpenAPI Security Requirement Object metadata.

On @OpenApi.Document metadata types, type-level requirements emit top-level document security requirements. On endpoint types, type-level requirements apply to generated operations for the endpoint. Method-level requirements replace inherited endpoint requirements for that operation. Each annotation emits one OpenAPI security requirement object. Multiple @OpenApi.SecuritySchemeRequirement entries inside one annotation require all listed schemes together. Repeated @OpenApi.SecurityRequirement annotations declare alternative requirement objects.

An empty individual requirement emits an empty OpenAPI security requirement object. To clear inherited endpoint security for an operation, use an empty OpenApi.SecurityRequirements container instead. Type-level usage on a declarative REST endpoint contract also applies to its implementations. A security requirement declared directly on an endpoint implementation replaces requirements inherited from its contract.

  • Element Details

    • value

      Required schemes. All schemes are required together.

      Using an empty value emits an empty OpenAPI security requirement object. Use an empty OpenApi.SecurityRequirements container to declare an operation with no security requirements.

      Returns:
      scheme requirements