본문 바로가기
  • 소소한 개발자 이야기
Software/Spring Boot 핵심 가이드

[Spring boot] 인텔리제이에서 스프링부트 Swagger 설정하는 방법

by Siwan_Min 2023. 5. 8.
728x90

Swagger 란?

Swagger는 RESTful 웹 서비스를 설계, 구축, 문서화 및 테스트하는 데 사용되는 오픈 소스 소프트웨어 프레임워크입니다. 이를 통해 개발자는 자동화된 도구에서 문서 및 클라이언트 SDK(소프트웨어 개발 키트)를 생성하는 데 사용할 수 있는 기계 판독 가능 형식으로 API 구조를 설명할 수 있습니다. 이렇게 하면 API 문서 및 클라이언트 코드 생성 프로세스를 자동화하여 시간을 절약하고 오류를 줄일 수 있습니다.

 


Swagger 설정하기 

pom.xml 파일에 의존성을 추가한다.

	<dependencies>
		          ... 생략 ...
		<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>
	</dependencies>

 

그 후 SwaggerConfiguration Class를 생성해 줍니다. 

 

config/SwaggerConfiguration.java

 

package com.example.api.config;


import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class SwaggerConfiguration {

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

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Spring Boot Open API Test with Swagger")
                .description("Spring Boot 핵심 가이드")
                .version("1.0.0")
                .build();
    }
}

이렇게 하면 Swagger 사용을 위한 기본적인 설정이 완료됩니다. 

 

Swagger 에서 스캔할 패키지 범위를 RequestHanderSelectors.basePackage() 메서드를 사용해 설정합니다. 현재 프로젝트 루트 패키지는 com.example.api 로 설정돼 있어 그대로 작성했습니다. 

 

이제 인텔리제이 IDEA에서 애플리케이션을 실행한 후 웹 브라우저를 통해 http://localhost:8080/swagger-ui.html로 접속하면 아래와 같은 Swagger 페이지가 출력됩니다. 

 

localhost:8080/swagger-ui.html

 

728x90

댓글