[Springboot] Swagger 설정하기

혜림·2023년 9월 19일
0

Swagger란?

  • RESTful API문서를 자동으로 생성하고 시각화하는 도구
  • API 개발자와 사용자 모두에게 API의 기능, 엔드포인트, 매개변수, 응답 형식등을 이해하기 쉽게 제공

Swagger 주요기능

API문서 생성

  • API의 메타데이터를 기반으로 자동으로 api문서를 생성
  • API의 엔드포인트, 매개변수, 응답형식, 오류코드등을 상세하게 문서화 할 수있다.

시각화

  • Swgger는 생성된 api문서를 시각적으로 표현
  • 사용자는 웹 인터페이스를 통해 API의 구조와 시능을 쉽게 파악가능

인터랙티브 API테스트

  • Swagger UI를 사용하여 API테스트 가능
  • 사용자는 API의 엔드포인트와 매개변수를 선택하고 실제 요청을 보내며 응답을 확인 할 수있다.

swagger를 설정해보자❗

먼저 사용할 Dependency 를 설정해준다.
swagger 의존성 에 들어가서 원하는 버전으로 선택해서 들어간다.

implementation group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.9.2'
implementation group: 'io.springfox', name: 'springfox-swagger2', version: '2.9.2'

다음으로 SwaggerConfig를 작성해준다.

package com.groupProject.groupApp.Config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket restAPI()
    {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.groupProject"))
                .paths(PathSelectors.ant("/**"))
                .build();
    }
    private ApiInfo apiInfo(){
        return new ApiInfoBuilder()
                .title("groupProject String boot REST API")
                .version("1.0.0")
                .description("구성원 모임형 어플리케이션 Swagger")
                .build();
    }
}

Swagger API를 확인하고 싶다면?

💾 http://localhost:8080/swagger-ui.html경로에서 사용할수있다.

profile
안녕하세요! :)

0개의 댓글