Skip to content

Commit c731a0c

Browse files
committed
chore: SwaggerConfig 추가, Swagger Security 적용 해제 (#7)
1 parent b32886f commit c731a0c

File tree

2 files changed

+42
-1
lines changed

2 files changed

+42
-1
lines changed

src/main/java/com/project/mapdagu/config/SecurityConfig.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,10 @@ public SecurityFilterChain filterChain(HttpSecurity http, HandlerMappingIntrospe
6464
.requestMatchers(mvcMatcherBuilder.pattern("/css/**")).permitAll()
6565
.requestMatchers(mvcMatcherBuilder.pattern("/js/**")).permitAll()
6666
.requestMatchers(mvcMatcherBuilder.pattern("/images/**")).permitAll()
67-
.requestMatchers(mvcMatcherBuilder.pattern("/index.html")).permitAll()
67+
.requestMatchers(mvcMatcherBuilder.pattern("/error")).permitAll()
68+
.requestMatchers(mvcMatcherBuilder.pattern("/favicon.ico")).permitAll()
69+
.requestMatchers(mvcMatcherBuilder.pattern("/swagger-ui/**")).permitAll()
70+
.requestMatchers(mvcMatcherBuilder.pattern("/swagger-resources/**")).permitAll()
6871
.anyRequest().authenticated())
6972
.oauth2Login(oauth2Login -> oauth2Login.successHandler(oAuth2LoginSuccessHandler)
7073
.failureHandler(oAuth2LoginFailureHandler)
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package com.project.mapdagu.config;
2+
3+
import io.swagger.v3.oas.models.Components;
4+
import io.swagger.v3.oas.models.OpenAPI;
5+
import io.swagger.v3.oas.models.info.Info;
6+
import io.swagger.v3.oas.models.media.Schema;
7+
import io.swagger.v3.oas.models.security.SecurityScheme;
8+
import org.springdoc.core.utils.SpringDocUtils;
9+
import org.springframework.context.annotation.Bean;
10+
import org.springframework.context.annotation.Configuration;
11+
12+
import java.time.LocalTime;
13+
import java.time.format.DateTimeFormatter;
14+
15+
@Configuration
16+
public class SwaggerConfig {
17+
@Bean
18+
public OpenAPI openAPI() {
19+
return new OpenAPI()
20+
.components(new Components()
21+
.addSecuritySchemes("bearer-key",
22+
new SecurityScheme().type(SecurityScheme.Type.HTTP).scheme("bearer").bearerFormat("JWT")))
23+
.info(apiInfo());
24+
}
25+
26+
private Info apiInfo() {
27+
return new Info()
28+
.title("내가 맵다 했지! API")
29+
.description("내가 맵다 했지! API 문서")
30+
.version("1.0.0");
31+
}
32+
33+
static {
34+
var schema = new Schema<LocalTime>();
35+
schema.example(LocalTime.now().format(DateTimeFormatter.ofPattern("HH:mm:ss"))).type("string");
36+
SpringDocUtils.getConfig().replaceWithSchema(LocalTime.class, schema);
37+
}
38+
}

0 commit comments

Comments
 (0)