package dev.mvvasilev.finances.configuration; import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.security.SecurityRequirement; import io.swagger.v3.oas.models.security.SecurityScheme; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.List; @Configuration public class SwaggerConfiguration { @Bean public OpenAPI customizeOpenAPI() { final String securitySchemeName = "bearerAuth"; return new OpenAPI() .components( new Components() .addSecuritySchemes(securitySchemeName, new SecurityScheme() .type(SecurityScheme.Type.HTTP) .scheme("bearer") .bearerFormat("JWT") ) ) .security(List.of(new SecurityRequirement().addList(securitySchemeName))); } }