Swagger 도전

마동찬·2023년 5월 9일
0

3.0.6 버전인데도 구글의 수많은 swagger들은 fox에 대한 글들을 보고 하다가 결국 에러와 403에러로 계속 해결 되지 않던 중 doc을 사용해야한다는 글을 보게 되었다.
시간을 버리지 않도록 주의!

SpringBoot 3.0.0 이상부터는 springfox가 아닌 springdoc-openapi-ui 라이브러리를 사용해야 한다.

스프링부트 3.0.6 버전에서의 과정입니다!!

buildgradle 의존성 주입

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

SwaggerConfig 추가 (예시)

@Configuration
public class SwaggerConfig {

    @Bean
    public GroupedOpenApi publicApi() {
        return GroupedOpenApi.builder()
                .group("v1-definition")
                .pathsToMatch("/**")
                .build();
    }

    @Bean
    public OpenAPI springShopOpenAPI() {
        return new OpenAPI()
                .info(new Info().title("title")
                .description("프로젝트 API 명세서입니다.")
                .version("v0.0.1"));
    }
}

403은 해결됬으나 이러한 에러가 뜬다.

security 허가 문제때문이었다.

+application.yml에 예전 버전을 잘못추가해서였다. 바로 삭제했다.

이제 이런 에러가 뜬다.

하나씩 탐색해본결과 밑줄부분 매칭을 시키지 않아서 였고, 바로 고쳐주었다.

  • pathsToMatch
    Swagger API 명세서에 적을 API 주소를 적는다.
    ("/api/**" 이라고 적는다면 "http://localhost:8080/api/~~" 로 시작하는 친구들을 다 매칭시킨다는 얘기이다.)

5시간 넘게 swagger와 씨름 후 결과물

대만족

profile
새내기개발자 성장기록

0개의 댓글