본문 바로가기
백엔드(Back-End)/Spring

[Spring, Swagger] - Spring Boot 3.x.x 이상 버전에서 Swagger 연동하기

by TwoJun 2024. 3. 26.

Spring Framework

 

 

1. 문제 원인 & 상황

(1) Spring Boot의 버전이 3.X.X 이상으로 버전업되면서 기존 SpringFox가 호환되지 않아 SwaggerConfig 설정이 꼬이는 문제가 발생했다.

 

 

 

 

2. 문제 해결 : Gradle

2-1. build.gradle에 의존성 추가

(1) build.gradle 기준으로 아래와 같은 Dependency를 추가한다.

 

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

dependencies {
	// Swagger(Spring 3.x.x 이상부터 SpringFox 대신, SpringDoc)
	implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2'
}

 

 

 

 

2-2. SwaggerConfig.java

(1) 설정 정보를 아래와 같이 세팅한다.

package com.example.twojunlog.config;

import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class SwaggerConfig {

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

    private Info apiInfo() {
        return new Info()
                .title("Spring Boot REST API Specifications")
                .description("Specification")
                .version("1.0.0");
    }
}

 

 

 

 

2-3. Swagger 연동 확인 

(1) 스프링 서버를 실행시킨 뒤 아래의 엔드포인트로 접속한다.

 

(2) http://localhost:8080/swagger-ui/index.html

 

(3) 정상적으로 아래와 같은 Swagger UI에 접속한 것을 확인할 수 있다.

Swagger UI

 

 

 

 

※ 해당 포스팅에 대해 내용 추가가 필요하다고 생각되면 기존 포스팅 내용에 다른 내용이 추가될 수 있습니다.

개인적으로 공부하며 정리한 내용이기에 오타나 틀린 부분이 있을 수 있으며, 이에 대해 댓글로 알려주시면 감사하겠습니다!

댓글