본문 바로가기
Study

[Spring boot + Swagger] Swagger 적용

by soeundid 2023. 8. 3.

Swagger란?

개발자가 REST 웹 서비스를 설계, 빌드, 문서화, 소비하는 일을 도와주는 대형 도구 생태계의 지원을 받는 오픈 소스 소프트웨어 프레임워크이다. 대부분의 사용자들은 스웨거 UI 도구를 통해 스웨거를 식별하며 스웨거 툴셋에는 자동화된 문서화, 코드 생성, 테스트 케이스 생성 지원이 포함된다.

 

Swagger 설정 방법

  • Spring-Doc 이용
    • 스프링으로 개발시 swagger 문서를 쉽게 작성할 수 있도록 도와주는 라이브러리이다.

https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-ui

 

 

Spring Boot 2.7.12
Java 11

 

1. Gradle 설정

	implementation 'org.springdoc:springdoc-openapi-ui:1.6.11'

 

2. application.yml 설정

springdoc:
  api-docs:
    enabled: true
  swagger-ui:
    enabled: true
    tagsSorter: method
    operations-sorter: method
    display-request-duration: true
  default-consumes-media-type: application/json;charset=UTF-8
  default-produces-media-type: application/json;charset=UTF-8

 

 

3. Spring Security 설정

.antMatchers("/v3/api-docs/**", "/swagger-ui/**", "/swagger-resources/**", "/swagger-ui/**").permitAll()

 

4. Config  설정

@Configuration
@EnableWebMvc
public class SwaggerConfig {

    @Bean
    public GroupedOpenApi alumniApi(){
        return GroupedOpenApi.builder()
                .group("Alumni-api")
                .pathsToMatch("/**")
                .build();
    }

    @Bean
    public OpenAPI alumniOpenAPI() {
        return new OpenAPI()
                .info(new Info().title("Alumni API")
                        .description("동문개발자 프로젝트 API 명세서 입니다."));
    }

}

 

  • Swagger 접속
http://localhost:8080/swagger-ui/index.html

 

  • group
    • group 이름 설정

group 이름 설정

  • OpenAPI
    • 기본적인 제목, 버전, 설명에 관한 설명