Swagger 세팅

build.gradle

implementation 'org.springdoc:springboc-openapi-starter-webmvc-ui:2.0.2'

application.properties

# swagger 설정
springdoc.swagger-ui.groups-order=desc
springdoc.swagger-ui.tags-sorter=alpha
springdoc.swagger-ui.disable-swagger-default-url=true
springdoc.swagger-ui.display-request-duration=true
springdoc.swagger-ui.default-models-expand-depth=2
springdoc.swagger-ui.default-model-expand-depth=2

springdoc.api-docs.path=/api-docs
springdoc.show-actuator=true
springdoc.default-consumes-media-type=application/json
springdoc.default-produces-media-type=application/json
springdoc.writer-with-default-pretty-printer=true
springdoc.model-and-view-allowed=true
springdoc.paths-to-match=/**

config/SwaggerConfiguration

@OpenAPIDefinition(
    info = @Info(
  ㅎ
}

Authorication 설정

Spring Boot OpenAPI 3.0 + Swagger version 3 적용 및 설정하기, Swagger에 JWT 기능 설정하기

@OpenAPIDefinition(
    info = @Info(
            title = "Swip API",  // 어떤 API 명세서를 위한 Swagger 페이지인지
            description = "API documentaion for Swip project", // 설명
            version = "v1"
    ))
@Configuration
public class SwaggerConfig {
    @Bean
    public OpenAPI api() {
        SecurityScheme apiKey = new SecurityScheme()
                .type(SecurityScheme.Type.APIKEY)
                .in(SecurityScheme.In.HEADER)
                .name("Authorization");

        SecurityRequirement securityRequirement = new SecurityRequirement()
                .addList("Bearer Token");

        return new OpenAPI()
                .components(new Components().addSecuritySchemes("Bearer Token", apiKey))
                .addSecurityItem(securityRequirement);
    }
}

참고 문서

[Spring Boot] Swagger API Docs 작성하기 (SpringDoc, SpringBoot 3 버전)

Spring Boot OpenAPI 3.0 + Swagger version 3 적용 및 설정하기, Swagger에 JWT 기능 설정하기