Post

[Spring] 스웨거로 API 문서 자동화(Swagger)

📌 들어가며

이번 글에서는 Swagger로 Spring 애플리케이션의 API 문서를 자동화하는 방법을 정리한다.

Swagger란? API를 설계·빌드·문서화하고 개발자가 쉽게 사용하도록 돕는 도구. OpenAPI Specification(OAS) 표준 기반으로, API를 자동 문서화한다. 문서를 손으로 관리하는 수고를 없애준다.


1. 설정

의존성 추가 (Maven):

1
2
3
4
5
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-boot-starter</artifactId>
    <version>3.0.0</version>
</dependency>

설정 클래스 (@Configuration):

1
2
3
4
5
6
7
8
9
10
11
12
@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
            .select()
            .apis(RequestHandlerSelectors.basePackage("com.example.controller"))  // 컨트롤러 패키지
            .paths(PathSelectors.any())
            .build();
    }
}

💡 basePackageAPI 컨트롤러가 위치한 패키지를 지정하면, 그 안의 API가 자동으로 문서화된다.


2. Swagger UI 확인

애플리케이션 실행 후 브라우저에서 접속한다.

1
http://localhost:8080/swagger-ui.html

API 명세서가 자동 생성되어 표시된다.


3. 주요 기능

기능설명
API 문서 자동 생성코드에서 명세를 자동 추출
API 테스트Swagger UI에서 직접 호출·결과 확인
버전 관리여러 API 버전 문서화

💡 Swagger UI의 강점은 문서 안에서 바로 API를 테스트할 수 있다는 것이다. 프론트엔드·백엔드 협업 시 문서와 테스트를 한곳에서 해결한다.


📝 정리

1
2
3
4
5
Spring Swagger
├─ 개념   OAS 기반 API 자동 문서화
├─ 설정   springfox 의존성 + @EnableSwagger2 + Docket
├─ 확인   /swagger-ui.html
└─ 기능   자동 문서 + 테스트 + 버전 관리
개념한 줄 정의
SwaggerAPI 자동 문서화 도구
DocketSwagger 설정 빈
Swagger UI문서 + 테스트 웹 화면

Swagger는 “코드가 곧 문서”를 실현한다. 컨트롤러만 만들면 API 문서가 자동 생성·갱신되니, 문서 관리 부담을 크게 줄이고 협업 생산성을 높인다.

This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.