본문 바로가기

BackEnd : Spring/SpringBoot

[Springboot] Spring Doc으로 api 문서화하기

https://springdoc.org/

 

OpenAPI 3 Library for spring-boot

Library for OpenAPI 3 with spring boot projects. Is based on swagger-ui, to display the OpenAPI description.Generates automatically the OpenAPI file.

springdoc.org

1. pom.xml에 의존성 추가

나는 스프링 3.x 버전을 쓰고 있어 swagger 대신 spring doc을 사용하였다.

스프링 3 버전 : springdoc-openapi v2.5.0 사용하기

<dependency>
      <groupId>org.springdoc</groupId>
      <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
      <version>2.5.0</version>
   </dependency>

2. application-properties 속성 추가

나는 일단 이것만 추가함

# swagger custom 주소(default 주소인 /swagger-ui/index.html 로 설정할 수 없다)
springdoc.swagger-ui.path=/swagger-ui
# /api-docs endpoint custom path
springdoc.api-docs.path=/api-docs

3. config 파일 생성

config 패키지 밑에 SwaggerConfiguration.java 파일 생성하기

import io.swagger.v3.oas.annotations.OpenAPIDefinition;
import io.swagger.v3.oas.annotations.info.Info;
import lombok.RequiredArgsConstructor;
import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@OpenAPIDefinition(
        info = @Info(title = "DB 연습",
                description = "DB api명세",
                version = "v1"))
@RequiredArgsConstructor
@Configuration
public class SwaggerConfiguration {

    @Bean
    public GroupedOpenApi dbOpenApi() {
        String[] paths = {"/product"};

        return GroupedOpenApi.builder()
                .group("DB 연습 v1")
                .pathsToMatch(paths)
                .build();
    }
}

4. spring doc 링크 접속

http://localhost:8080/swagger-ui/index.html#/ 

내가 만든 api 목록들을 확인할 수 있다.