Java 17(Spring 3.x)에서 Swagger가 동작하지 않을때..

 

swagger에는 크게 springfox, springdoc 2가지 라이브러리가 있다.

 

springfox가 먼저 나왔고 springdoc이 나중에 나왔다고 하는데,

 

현재 Springboot 3.x버전의 경우 현재는 springfox를 이용할 수 없다.

 

(정확히 말하면 springboot 3.x버전이 java17을 이용하기 때문에 그런 것 같다. 더 이상 업데이트가 되지 않는 것 같음)

 

springfox를 이용하기 위해서는 springboot 2.x버전으로 다운그레이드하거나 업데이트를 기다려야 하는데,

 

본인이 스프링 3.x버전(java 17)을 사용한다면 springdoc을 이용하자.

 

springdoc에서 configuration파일은 아래와 같이 구성하면 되고, @EnableSwagger2 어노테이션도 사용할 필요는 없다.

 

접속시 도메인은 http://{localhost}:{8080}/swagger-ui/index.html 을 사용하면 된다.

 

@Configuration
public class SwaggerConfig {

    private final String TITLE = "제목";
    private final String DESCRIPTION = "설명";
    private final String VERSION = "버전";

    @Bean
    public OpenAPI api() {
        return new OpenAPI()
                .info(new Info()
                        .title(TITLE)
                        .description(DESCRIPTION)
                        .version(VERSION)
                );
    }
}

 

'[ Backend ] > 기타' 카테고리의 다른 글

application.yml 설정값 노출 관리하기  (0) 2023.09.15
[JS] 자바스크립트 기초  (0) 2022.09.10
AJAX  (0) 2022.07.16
[Thymeleaf] 타임리프와 스프링 통합  (0) 2022.06.30
[Thymeleaf] 타임리프, 기본적인 기능 정리  (0) 2022.02.20