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 페이지가 출력됩니다.

728x90
'Software > Spring Boot 핵심 가이드' 카테고리의 다른 글
05_스프링부트 API 작성하기 (0) | 2023.05.07 |
---|---|
04_인텔리제이에서 스프링 부트 프로젝트 생성하기(애플리케이션 개발) (0) | 2023.05.07 |
03_2 인텔리제이 IDEA 설치하기 (0) | 2023.05.07 |
03_Mac OS에서 자바 JDK 설치하기 (0) | 2023.01.13 |
02_개발에 앞서 알면 좋은 기초 지식 (0) | 2022.11.28 |
댓글