Skip to content

Commit 25397ca

Browse files
authored
Merge pull request #205 from prgrms-be-devcourse/feat/204-swagger추가
[feat] swagger추가
2 parents a91e820 + 2113eed commit 25397ca

3 files changed

Lines changed: 31 additions & 2 deletions

File tree

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ dependencies {
130130
testImplementation("org.testcontainers:testcontainers")
131131
testImplementation("org.springframework.boot:spring-boot-testcontainers")
132132

133-
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.5.0")
133+
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.6")
134134
}
135135

136136
tasks.withType<Test> {
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.back.global.config;
2+
3+
import org.springframework.context.annotation.Bean;
4+
import org.springframework.context.annotation.Configuration;
5+
6+
import io.swagger.v3.oas.annotations.enums.SecuritySchemeType;
7+
import io.swagger.v3.oas.annotations.security.SecurityScheme;
8+
import io.swagger.v3.oas.models.OpenAPI;
9+
import io.swagger.v3.oas.models.info.Info;
10+
import io.swagger.v3.oas.models.security.SecurityRequirement;
11+
12+
@Configuration
13+
@SecurityScheme(name = "bearerAuth", type = SecuritySchemeType.HTTP, scheme = "bearer", bearerFormat = "JWT")
14+
public class SwaggerConfig {
15+
16+
@Bean
17+
public OpenAPI openAPI() {
18+
return new OpenAPI()
19+
.info(new Info()
20+
.title("The Bracket API")
21+
.description("The Bracket 백엔드 API 문서")
22+
.version("v1"))
23+
.addSecurityItem(new SecurityRequirement().addList("bearerAuth"));
24+
}
25+
}

src/main/java/com/back/global/security/SecurityConfig.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,11 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
5454
"/actuator/metrics",
5555
"/actuator/metrics/**",
5656
"/actuator/prometheus",
57-
"/error")
57+
"/error",
58+
// Swagger UI
59+
"/swagger-ui/**",
60+
"/swagger-ui.html",
61+
"/v3/api-docs/**")
5862
.permitAll()
5963
// 관리자 API는 ROLE_ADMIN만 접근 허용
6064
.requestMatchers("/api/v1/admin/**")

0 commit comments

Comments
 (0)