잘 정리해보자

Spring Boot에 Swagger 적용 (3.0) 본문

Spring/Spring Boot

Spring Boot에 Swagger 적용 (3.0)

토마토오이 2022. 1. 5. 23:26

- Gradle 기준

 

Spring Boot에 Swagger 적용을 위해 build.gradle 파일에 spring-fox 3.0을 적용합니다.

dependencies {
    ...
    implementation group: 'io.springfox', name: 'springfox-boot-starter', version: '3.0.0'
 }

 

 

 

gradle적용 후 swagger설정파일을 생성합니다.

 

config 패키지파일 안에 설정 파일 생성.

@Configuration
@EnableWebMvc
public class SwaggerConfig {

    @Bean
    public Docket swaggerAPI(){
        //Docket : swagger Bean
        return new Docket(DocumentationType.OAS_30)
                .useDefaultResponseMessages(true) //기본 응답 메시지 표시 여부
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.base.batchproject")) //swagger탐색 대상 패키지
                .paths(PathSelectors.any())
                .build()
                .apiInfo(apiInfo());
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Batch Swagger")
                .description("batch execute swagger")
                .version("1.0")
                .build();
    }

}

 

 

 

 

* config 파일에서 swagger 2.0과 3.0의 차이

 

1.

@EnableWebMvc : swagger 3.0 버전

@EnableSwagger2 : swagger 2.0 버전

 

2.

 return new Docket(DocumentationType.OAS_30) //3.0
 
 return new Docket(DocumentationType.SWAGGER_2) //2.0

 

 

테스트를 위한 controller 생성

 

@RestController
@RequestMapping("/api")
public class MainController {

    @GetMapping("/test")
    public String test(){
        return "test!";
    }
}

 

spring boot 재실행 후 localhost:port/swagger-ui/index.html 로 접속

(2.0버전은 localhost:port/swagger-ui.html 로 접속)

 

 

 

 

 

 

Comments