33import io .swagger .v3 .oas .models .Components ;
44import io .swagger .v3 .oas .models .OpenAPI ;
55import io .swagger .v3 .oas .models .info .Info ;
6+ import io .swagger .v3 .oas .models .security .SecurityRequirement ;
67import io .swagger .v3 .oas .models .security .SecurityScheme ;
7- import io .swagger .v3 .oas .models .servers .Server ;
88import lombok .RequiredArgsConstructor ;
99import org .springdoc .core .models .GroupedOpenApi ;
1010import org .springframework .context .annotation .Bean ;
@@ -21,21 +21,27 @@ public class SpringdocConfig {
2121
2222 @ Bean
2323 public OpenAPI openAPI () {
24- Info info = new Info ()
25- .title ("JECT Makers API Document" )
26- .version ("v0.0.1" )
27- .description ("JECT 메이커스 팀 API 명세서입니다." );
28-
29- SecurityScheme securityScheme = new SecurityScheme ()
30- .type (SecurityScheme .Type .HTTP )
31- .scheme ("bearer" )
32- .bearerFormat ("JWT" );
24+ String securitySchemeName = "bearerAuth" ;
3325
3426 return new OpenAPI ()
27+ // API 기본 정보
28+ .info (new Info ()
29+ .title ("JECT Makers API Document" )
30+ .version ("v0.0.1" )
31+ .description ("JECT 메이커스 팀 API 명세서입니다." ))
32+
33+ // Security 스키마 정의
3534 .components (new Components ()
36- .addSecuritySchemes ("Bearer Token" , securityScheme ))
37- .addServersItem (new Server ().url ("/" ))
38- .info (info );
35+ .addSecuritySchemes (securitySchemeName , new SecurityScheme ()
36+ .type (SecurityScheme .Type .HTTP )
37+ .scheme ("bearer" )
38+ .bearerFormat ("JWT" )
39+ .in (SecurityScheme .In .HEADER )
40+ .description ("JWT 토큰을 입력하세요 (Bearer prefix 제외)" )))
41+
42+ // 전역으로 Security 적용
43+ .addSecurityItem (new SecurityRequirement ()
44+ .addList (securitySchemeName ));
3945 }
4046
4147 @ Bean
0 commit comments