diff --git a/build.gradle b/build.gradle index 4a0dd2d..d51c8b2 100644 --- a/build.gradle +++ b/build.gradle @@ -73,6 +73,9 @@ dependencies { // Lombok compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' + + implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.5' + } tasks.named('test') { diff --git a/src/main/java/com/sparta/spring_deep/_delivery/config/SwaggerConfig.java b/src/main/java/com/sparta/spring_deep/_delivery/config/SwaggerConfig.java new file mode 100644 index 0000000..453b376 --- /dev/null +++ b/src/main/java/com/sparta/spring_deep/_delivery/config/SwaggerConfig.java @@ -0,0 +1,21 @@ +package com.sparta.spring_deep._delivery.config; + +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 +public class SwaggerConfig { + + @Bean + public OpenAPI customOpenAPI() { + return new OpenAPI() + .info(new Info() + .title("[이팔배달] AI 활용 비즈니스 프로젝트") + .description("스프링 심화 3기 28조") + .version("1.0.0") + ); + } + +} diff --git a/src/main/java/com/sparta/spring_deep/_delivery/config/WebSecurityConfig.java b/src/main/java/com/sparta/spring_deep/_delivery/config/WebSecurityConfig.java index e39134a..9e820c2 100644 --- a/src/main/java/com/sparta/spring_deep/_delivery/config/WebSecurityConfig.java +++ b/src/main/java/com/sparta/spring_deep/_delivery/config/WebSecurityConfig.java @@ -1,8 +1,8 @@ package com.sparta.spring_deep._delivery.config; +import com.sparta.spring_deep._delivery.domain.user.details.UserDetailsServiceImpl; import com.sparta.spring_deep._delivery.domain.user.jwt.JwtAuthenticationFilter; import com.sparta.spring_deep._delivery.domain.user.jwt.JwtAuthorizationFilter; -import com.sparta.spring_deep._delivery.domain.user.details.UserDetailsServiceImpl; import com.sparta.spring_deep._delivery.domain.user.jwt.JwtUtil; import com.sparta.spring_deep._delivery.domain.user.repository.UserRepository; import lombok.RequiredArgsConstructor; @@ -16,7 +16,6 @@ import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.http.SessionCreationPolicy; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; -import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; @@ -69,6 +68,11 @@ public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Excepti authorizeHttpRequests .requestMatchers(PathRequest.toStaticResources().atCommonLocations()) .permitAll() // resources 접근 허용 설정 + .requestMatchers( + "/swagger-ui/**", + "/swagger-ui.html", + "/v3/api-docs/**" + ).permitAll() .requestMatchers("/").permitAll() // 메인 페이지 요청 허가 // 사용자 - 회원 가입/로그인 : 요청 모두 접근 허가 .requestMatchers(