springfox swagger-ui 2.9.2 버전까지는 이렇게 디펜던시를 추가하고 

<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger2</artifactId>
  <version>2.9.2</version>
</dependency>

<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger-ui</artifactId>
  <version>2.9.2</version>
</dependency>

Configuration 컴포넌트에서 Docket 클래스를 Bean 등록을 해주고

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(this.apiInfo())
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }
}

localhost:8080/swagger-ui.html url을 통해서 접근 가능했다.


springfox swagger-ui 3.0.0 버전부터는 다르다.

디펜던시를 swagger2와 swagger-ui가 아니라 이것으로 등록해주어야 한다.

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-boot-starter</artifactId>
    <version>3.0.0</version>
</dependency>

 

이후 Bean 등록까진 동일하다.

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(this.apiInfo())
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }
}

그리고 swagger-ui에 접근하는 url이 달라졌다.

localhost:8080/swagger-ui/index.html 접속하면 된다.

 

추측되는 이유는 3버전부터는 swagger-ui와 swagger2 디펜던시뿐만 아니라 다른 코드가 추가되었고

springfox-boot-starter에서 위의 swagger-ui와 swagger2 디펜던시를 포함해서 새롭게 만들어져서 문제가 되었던 것이다.

'Java > Spring boot' 카테고리의 다른 글

Gradle로 Github Action에 Coveralls 적용 방법  (0) 2021.01.31
Test Code  (0) 2021.01.31

BELATED ARTICLES

more