본문 바로가기

JAVA/Error

[Swagger] spring boot - No mapping for GET /swagger-ui

 

 

동일한 설정의 다른 프로젝트는 정상 작동 하는데,

신규 프로젝트만 해당 오류가 발생한다.

 

Spring fox - Swagger2(2.9.x) 를 사용하는 경우 발생하는 현상이며,

Spring boot 의 Configuration 을 통해 ResourceHandler를 Override 해서 swagger-ui.html 페이지의 위치를 설정해줘야 한다.

 

 

Swagger 3버전에서는 해당 설정이 아닌

http://localhost:{ip}/swagger-ui/index.html

로 접속해야 함.

 

 

@Configuration
@EnableSwagger2
public class SwaggerConfig extends WebMvcConfiguarationSupport {
  
    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("swagger-ui.html")
                .addResourceLocations("classpath:/META-INF/resources/");

        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
    
    ...
    ...
}

 

 

+

이 방법으로 해결되지 않아 구글링 한 결과.

.m2 를 삭제 후 재실행 하면 Maven 종속성이 자동 복원된다고 하여 삭제 함.

해결.. 허탈하다.