Interface OpenApiDocumentConfig


public interface OpenApiDocumentConfig
Configuration for an individual OpenAPI document
  • Method Details

    • path

      @WithDefault("openapi-<document-name>") String path()
      The path at which to register the OpenAPI Servlet.

      For the default document, the default value is simply openapi. For any named OpenAPI documents, the -<document-name> part will be replaced by the document name.

      If you set a non-default value, then your custom value is used without resolving -<document-name>.

    • storeSchemaDirectory

      Optional<Path> storeSchemaDirectory()
      If set, the generated OpenAPI schema documents will be stored here on build. Both openapi.json and openapi.yaml will be stored here if this is set.
    • storeSchemaFileName

      @WithDefault("openapi-<document-name>") String storeSchemaFileName()
      The name of the file in case it is being stored.

      For the default document, the default value is simply openapi. For any named OpenAPI documents, the -<document-name> part will be replaced by the document name.

      If you set a non-default value, then your custom value is used without resolving -<document-name>.

    • alwaysRunFilter

      @WithDefault("false") boolean alwaysRunFilter()
      Do not run the filter only at startup, but every time the document is requested (dynamic).
    • ignoreStaticDocument

      @WithDefault("false") boolean ignoreStaticDocument()
      Do not include the provided static openapi document (eg. META-INF/openapi.yaml)
    • additionalDocsDirectory

      Optional<List<Path>> additionalDocsDirectory()
      A list of local directories that should be scanned for yaml and/or json files to be included in the static model. Example: `META-INF/openapi/`
    • securityScheme

      Add a certain SecurityScheme with config
    • securitySchemeName

      @WithDefault("SecurityScheme") String securitySchemeName()
      Add a Security Scheme name to the generated OpenAPI document
    • securitySchemeDescription

      @WithDefault("Authentication") String securitySchemeDescription()
      Add a description to the Security Scheme
    • securitySchemeExtensions

      @ConfigDocMapKey("extension-name") Map<String,String> securitySchemeExtensions()
      Add one or more extensions to the security scheme
    • autoAddSecurityRequirement

      @WithDefault("true") boolean autoAddSecurityRequirement()
      This will automatically add the security requirement to all methods/classes that has a `RolesAllowed` annotation.
    • autoAddTags

      @WithDefault("true") boolean autoAddTags()
      This will automatically add tags to operations based on the Java class name.
    • autoAddBadRequestResponse

      @WithDefault("true") boolean autoAddBadRequestResponse()
      This will automatically add Bad Request (400 HTTP response) API response to operations with an input.
    • autoAddOperationSummary

      @WithDefault("true") boolean autoAddOperationSummary()
      This will automatically add a summary to operations based on the Java method name.
    • autoAddServer

      Optional<Boolean> autoAddServer()
      Setting it to `true` will automatically add a default server to the schema if none is provided, using the current running server host and port.
    • autoAddSecurity

      @WithDefault("true") boolean autoAddSecurity()
      This will automatically add security based on the security extension included (if any).
    • autoAddOpenApiEndpoint

      @WithDefault("false") boolean autoAddOpenApiEndpoint()
      This will automatically add the OpenAPI specification document endpoint to the schema. It also adds "openapi" to the list of tags and specify an "operationId"
    • apiKeyParameterIn

      Optional<String> apiKeyParameterIn()
      Required when using `apiKey` security. The location of the API key. Valid values are "query", "header" or "cookie".
    • apiKeyParameterName

      Optional<String> apiKeyParameterName()
      Required when using `apiKey` security. The name of the header, query or cookie parameter to be used.
    • basicSecuritySchemeValue

      @WithDefault("basic") String basicSecuritySchemeValue()
      Add a scheme value to the Basic HTTP Security Scheme
    • jwtSecuritySchemeValue

      @WithDefault("bearer") String jwtSecuritySchemeValue()
      Add a scheme value to the JWT Security Scheme
    • jwtBearerFormat

      @WithDefault("JWT") String jwtBearerFormat()
      Add a bearer format the JWT Security Scheme
    • oauth2SecuritySchemeValue

      @WithDefault("bearer") String oauth2SecuritySchemeValue()
      Add a scheme value to the OAuth2 opaque token Security Scheme
    • oauth2BearerFormat

      @WithDefault("Opaque") String oauth2BearerFormat()
      Add a scheme value to OAuth2 opaque token Security Scheme
    • oidcOpenIdConnectUrl

      Optional<String> oidcOpenIdConnectUrl()
      Add a openIdConnectUrl value to the OIDC Security Scheme
    • oauth2ImplicitRefreshUrl

      Optional<String> oauth2ImplicitRefreshUrl()
      Add a implicit flow refreshUrl value to the OAuth2 Security Scheme
    • oauth2ImplicitAuthorizationUrl

      Optional<String> oauth2ImplicitAuthorizationUrl()
      Add an implicit flow authorizationUrl value to the OAuth2 Security Scheme
    • oauth2ImplicitTokenUrl

      Optional<String> oauth2ImplicitTokenUrl()
      Add an implicit flow tokenUrl value to the OAuth2 Security Scheme
    • openApiVersion

      Optional<String> openApiVersion()
      Override the openapi version in the Schema document
    • infoTitle

      Optional<String> infoTitle()
      Set the title in Info tag in the Schema document
    • infoVersion

      Optional<String> infoVersion()
      Set the version in Info tag in the Schema document
    • infoDescription

      Optional<String> infoDescription()
      Set the description in Info tag in the Schema document
    • infoTermsOfService

      Optional<String> infoTermsOfService()
      Set the terms of the service in Info tag in the Schema document
    • infoContactEmail

      Optional<String> infoContactEmail()
      Set the contact email in Info tag in the Schema document
    • infoContactName

      Optional<String> infoContactName()
      Set the contact name in Info tag in the Schema document
    • infoContactUrl

      Optional<String> infoContactUrl()
      Set the contact url in Info tag in the Schema document
    • infoLicenseName

      Optional<String> infoLicenseName()
      Set the license name in Info tag in the Schema document
    • infoLicenseUrl

      Optional<String> infoLicenseUrl()
      Set the license url in Info tag in the Schema document
    • operationIdStrategy

      Optional<String> operationIdStrategy()
      Set the strategy to automatically create an operation Id. The strategy may be one of the predefined values or the name of a fully-qualified class that implements the io.smallrye.openapi.api.OperationIdGenerator interface.

      Predefined strategies:

      • method: generate an operationId with the resource method's name
      • class-method: generate an operationId with the resource class's simple name and the resource method's name
      • package-class-method: generate an operationId with the resource class's fully-qualified name and the resource method's name
    • mergeSchemaExamples

      @WithDefault("true") boolean mergeSchemaExamples()
      Set this boolean value to enable or disable the merging of the deprecated `@Schema` `example` property into the `examples` array introduced in OAS 3.1.0. If set to `false`, the deprecated `example` will be kept as a separate annotation on the schema in the OpenAPI model.
    • scanProfiles

      Optional<Set<String>> scanProfiles()
      Profiles which explicitly include operations. If set, any operation without a matching profile is excluded.
    • scanExcludeProfiles

      Optional<Set<String>> scanExcludeProfiles()
      Profiles which explicitly exclude operations. If set, any operation without a matching profile is included. Excludes are considered before inclusions.
    • getValidSecuritySchemeExtensions

      default Map<String,String> getValidSecuritySchemeExtensions()
      Get valid security scheme extensions (those starting with "x-")