OpenApiConfig.java
package io.github.nikoir.expensetracker.openapi;
import io.swagger.v3.oas.annotations.enums.SecuritySchemeType;
import io.swagger.v3.oas.annotations.security.OAuthFlow;
import io.swagger.v3.oas.annotations.security.OAuthFlows;
import io.swagger.v3.oas.annotations.security.OAuthScope;
import io.swagger.v3.oas.annotations.security.SecurityScheme;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@SecurityScheme(
name = "security_auth",
type = SecuritySchemeType.OAUTH2,
flows = @OAuthFlows(
password = @OAuthFlow(
tokenUrl = "${springdoc.swagger-ui.oauth.token-url}",
scopes = {
@OAuthScope(name = "openid"),
@OAuthScope(name = "profile"),
@OAuthScope(name = "email"),
@OAuthScope(name = "roles")
}
)
)
)
public class OpenApiConfig {
@Bean
public OpenAPI customOpenAPI() {
return new OpenAPI()
.info(new Info()
.title("API Documentation")
.version("1.0")
.description("Трекер расходов"));
}
}