Swagger가 안됨
아래의 방법은 효과가 없었음 :
@Configuration
@EnableWebSecurity
@RequiredArgsConstructor
public class SecurityConfig {
private final LoginSuccessHandler loginSuccessHandler;
private final CustomAuthenticationFilter customAuthenticationFilter;
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
// try) 여기에 추가해봤었음
}
@Bean
public WebSecurityCustomizer webSecurityCustomizer() {
return web -> web.ignoring().requestMatchers(
// try) 여기에 추가해봤었음
);
}
@Bean
public CorsConfigurationSource corsConfigurationSource() {
...
}
}
@Component
@RequiredArgsConstructor
@Slf4j
public class CustomAuthenticationFilter extends OncePerRequestFilter {
private static final String AUTHORIZATION_HEADER = "Authorization";
private static final String BEARER_PREFIX = "Bearer ";
private final CookieManager cookieManager;
private final JwtManager jwtManager;
@Override
protected boolean shouldNotFilter(HttpServletRequest request) throws ServletException {
String requestURI = request.getRequestURI();
List<String> excludePrefixes = List.of(
// try) 여기에 추가해봤었음
);
return excludePrefixes.stream()
.anyMatch(requestURI::startsWith);
}
...
@RestControllerAdvice
GlobalExceptionHandler에 있던 @RestControllerAdvice의 문제였음
@RestControllerAdvice // 이거 주석 처리하면 작동함
public class GlobalExceptionHandler {
...
}
Swagger 버전 변경
// 변경전:
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0'
// 변경후:
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.7.0'