반응형
UMC 동아리에서 앱을 만드는 팀 프로젝트를 진행 중인데 한 가지 오류가 발생했다.
바로 JWT를 사용해서 로그인을 진행할 때 스프링 인터셉터를 사용 중인데 스웨거 경로를 exclude하자 오류가 발생했다.
파파고로 내용을 해석하면 아래와 같았다.
"기본 URL을 유추할 수 없습니다.
이는 동적 서블릿 등록을 사용하거나 API가 API 게이트웨이 뒤에 있을 때 흔히 발생합니다.
기본 URL은 모든 스웨거 리소스가 제공되는 루트입니다.
예를 들어 http://example.org/api/v2/api-docs에서 api를 사용할 수 있는 경우 기본 URL은 http://example.org/api/입니다.
위치를 수동으로 입력하십시오."
처음 파파고를 돌려보고 '뭔 소리지..?'라는 생각이 들었다.
기존에 스웨거를 경로에서 제거하자 오류가 발생한 코드는 다음과 같다.
@Override
public void addInterceptors(InterceptorRegistry registry)
{
//인터셉터 등록
registry.addInterceptor(new AuthenticationInterceptor(jwtService,objectMapper))
.order(0)
.addPathPatterns("/**")
.excludePathPatterns("/swagger-ui/**");
}
다음과 같은 경로를 추가하여 문제를 해결했다.
@Override
public void addInterceptors(InterceptorRegistry registry)
{
//인터셉터 등록
registry.addInterceptor(new AuthenticationInterceptor(jwtService,objectMapper))
.order(0)
.addPathPatterns("/**")
.excludePathPatterns("/swagger-ui/**", "/swagger-resources/**", "/v2/api-docs");
}
다음에 프로젝트하면서도 같은 오류가 발생할 것 같아서 기록으로 남긴다!
문제를 해결해서 다행이다.
반응형
댓글