[java] 스프링 부트에서 API 문서 자동화하기 (Swagger)

스프링 부트로 API를 개발하고 있다면, API 문서를 자동으로 생성하는 것이 중요합니다. 이를 위해 Swagger를 사용할 수 있습니다. Swagger는 API 문서를 자동으로 생성해주는 도구로, API의 엔드포인트(URL), 요청 및 응답 형식, 파라미터 등을 자세히 문서화하여 제공합니다.

이번 튜토리얼에서는 스프링 부트에서 Swagger를 설정하고 API 문서를 자동화하는 방법에 대해 알아보겠습니다.

1. Swagger 라이브러리 추가하기

먼저, pom.xml 파일에 Swagger 라이브러리를 추가해야 합니다.

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-boot-starter</artifactId>
    <version>3.0.0</version>
</dependency>

이제 프로젝트에서 Swagger를 사용할 수 있도록 라이브러리를 추가했습니다.

2. Swagger 설정하기

다음으로, 스프링 부트 애플리케이션에 Swagger를 설정해야 합니다. 이를 위해 @EnableSwagger2 어노테이션을 사용하여 Swagger를 활성화합니다.

import org.springframework.context.annotation.Configuration;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    
}

위의 코드에서 @EnableSwagger2 어노테이션을 사용하여 Swagger를 활성화합니다.

3. API 문서 확인하기

이제 애플리케이션을 다시 빌드하고 실행하면, Swagger UI를 통해 API 문서를 확인할 수 있습니다. 기본적으로 Swagger UI는 /swagger-ui/ 엔드포인트에서 접근할 수 있습니다.

또한, Docket을 정의하여 API 문서에 표시할 내용을 커스터마이징할 수 있습니다.

import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.spi.DocumentationType;
import org.springframework.context.annotation.Bean;

@Configuration
@EnableSwagger2
public class SwaggerConfig {

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

위의 코드에서 Docket을 정의하여 API 문서에 표시할 내용을 커스터마이징할 수 있습니다.

이제 API를 사용하는 클라이언트나 다른 개발자들이 API 문서를 쉽게 확인할 수 있습니다.

이처럼, Swagger를 사용하면 스프링 부트 애플리케이션에서 API 문서를 자동화할 수 있습니다.

참고 문서 - springfox 스웨거

마치며

이번 튜토리얼에서는 Swagger를 사용하여 스프링 부트에서 API 문서를 자동화하는 방법에 대해 알아보았습니다. API 문서의 자동화는 API를 사용하는 다른 개발자들에게 매우 유용하며, Swagger를 이용하면 이를 쉽게 구현할 수 있습니다.