Swagger UI 접속 시 404 에러 발생 해결방법

enjoy89·2023년 12월 30일
1
post-custom-banner

Swagger는 웹 서비스 개발의 RESTful API 명세를 자동으로 문서화 해주는 라이브러리이다. 근데 갑자기 Spring Boot 3 이전 버전에서는 잘 작동하던 설정 방식이 3 이후 버전에서는 제대로 작동하지 않았다.

아래와 같이 의존성 라이브러리를 추가했고, yml 파일 설정도 맞게 해주었다.


build.gradle

implementation("org.springdoc:springdoc-openapi-ui:1.6.11")




application.yml

springdoc:
  default-consumes-media-type: application/json;charset=UTF-8
  default-produces-media-type: application/json;charset=UTF-8
  swagger-ui:
    path: /swagger-ui.html
    disable-swagger-default-url: true
    display-request-duration: true
    operations-sorter: alpha




SwaggerConfig 기본 설정

@Configuration
public class SwaggerConfig {
    @Bean
    public OpenAPI openAPI() {
        return new OpenAPI()
                .components(new Components())
                .info(apiInfo());
    }

    private Info apiInfo() {
        return new Info()
                .title("Springdoc Test")
                .description("Springdoc Swagger UI Test")
                .version("1.0.0");
    }

}

하지만 Swagger UI 접속 시 계속해서 404가 에러가 발생했다




원인을 찾아보니..

Spring Boot 3.x.x 이후 버전부터 Swagger를 사용할 때 기존의 라이브러리가 아닌 아래의 라이브러리를 의존성에 추가해줘야 한다.




Gradle

implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2'




Maven

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <version>2.0.2</version>
</dependency>




이와 같이 라이브러리를 수정해주었더니 제대로 화면이 작동하는 것을 확인할 수 있다.

profile
Backend Developer 💻 😺
post-custom-banner

0개의 댓글