[SpringBoot] Swagger(3.0.0) 적용 및 에러 발생시 대처

Canbu·2022년 7월 12일
0

  • Swagger 라는 REST API를 개발할 때 자동화된 문서화, 코드 생성, 테스트 케이스 생성을 지원해주는 도구를 사용하게 되었다.

개발환경

  • intelliJ Ultimate
  • java 8
  • spring boot 2.7.1
  • gradle

사용법

사용법은 매우 간단하다. build.gradle 쪽에 아래의 코드를 추가해주자

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

test용 controller를 하나 만들자.

@RestController
public class TestController {

    @GetMapping("/test")
    public String test() {
        return "Hello this is test";
    }
}

접속 url인 http://localhost:8080/swagger-ui/index.html 로 들어가서 확인해보자

만약 whitelabel 페이지가 나올경우 SwaggerConfig 클래스를 추가해주자.

@Configuration
public class SwaggerConfig {

    @Bean
    public Docket api() {
        return new Docket(DocumentationType.OAS_30)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }

}

아래와 같이 에러가 날 경우애는!

Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException

Spring boot 2.6버전 이후에 spring.mvc.pathmatch.matching-strategy 값이 ant_apth_matcher에서 path_pattern_parser로 변경되면서 몇몇 라이브러리에서 오류가 발생하기 때문이므로 application.properties에 아래의 코드를 추가해주자.

spring.mvc.pathmatch.matching-strategy=ant_path_matcher

에러가 나지 않는다면 아래와 같이 화면을 확인할 수 있으며 Postman으로 테스트 하던 Postmapping도 편하게 테스트 할수 있어서 좋다.

profile
Code With Money

1개의 댓글

comment-user-thumbnail
2022년 12월 27일

감사합니다!

답글 달기