본문 바로가기
카테고리 없음

springboot3, swagger 설정

by 신방동불주먹 2024. 2. 22.

springfox와 springdoc 두 라이브러리 모두 Spring Framework를 사용하는 애플리케이션에서 Swagger를 이용해서 API 문서화를 쉽게 할 수 있도록 도와주는 라이브러리이다.

 

spring 3.x.x 버전 이후 부터는 springdoc 라이브러리를 사용해야 한다. springfox는 2020년 7월 14일 기준으로 더 이상 업데이트가 되지 않고 있다.

 

Swagger OpenAPI3.0 :

springdoc 라이브러리가 OpenAPI3.0 스펙에 맞는 JSON을 만들어주면, Swagger UI가 화면을 만들어서 JSON들을 띄워주는 역할.

 

 

1. build.gradle dependency 추가.

https://springdoc.org/v2/공식문서에서 제공하는 dependency로 설치

implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2'

 

 

 

2. http://localhost:8080/swagger-ui/index.html 에 접속

 

3. 기본 옵션 말고도 SwaggerConfig라는 java파일 안에 설정을 하는 방법 (수동)

 

package com.example.backend.config;

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 = "Couple App",
                description = "couple app api명세",
                version = "v1"))
@RequiredArgsConstructor
@Configuration
public class SwaggerConfig {

    @Bean
    public GroupedOpenApi chatOpenApi() {
        String[] paths = {"/v1/**"};

        return GroupedOpenApi.builder()
                .group("COUPLE API v1")
                .pathsToMatch(paths)
                .build();
    }
}