https://velog.io/@kjgi73k/Springboot3%EC%97%90-Swagger3%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0
위의 블로그 내용은 현재 1번째로 직면하고 있는 문제가 그대로 적혀 있어서
이렇게 빌드 내용을 적어주고 Application을 실행했는데
//swagger
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2'
이런 에러가 떴다.
맨 밑에는 Unable to determine Dialect without JDBC metadata 에러가 있었다.
생각해보니 데이터베이스 연결을 안했던게 떠올랐다.
연결하고 localhost:8080/swagger-ui/index.html 로 들어가니
잘된다.
그런데 설정을 하지 않은 즉 @Tag를 하지 않은 Controller가 나왔다
어디서 나온건지... 한참 찾다가 SwaggerConfig 파일을 만들어주고 아래 처럼 내용을 작성했는데도
여전히 변함이 없었다.
@Bean
public OpenAPI openAPI() {
Info info = new Info()
.title("경로 추천 네비게이션")
.version("1.0")
.description("API 명세서");
return new OpenAPI()
.components(new Components())
.info(info);
}
아래 사이트 참고해서 해보고
https://recordsoflife.tistory.com/349
여러가지 방법을 시도 해봤는데
결론은 Config 파일을 다시 재 작성해서 해결했다.
@Configuration
public class SwaggerConfig {
@Bean
public GroupedOpenApi myApi() {
return GroupedOpenApi.builder()
.group("경로 추천 api") // 컨트롤러 그룹의 이름
.pathsToMatch("/api/**") // 해당 패턴을 사용하여 컨트롤러를 그룹화
.build();
}
작성하고 싶은 path를 그룹화해서 명시해주면 해결되는 문제였다.
그리고 그 과정에서 빌드도 다시 버전을 바꿔서 빌드 했다.
//swagger 빌드 변경
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.1.0' // 최신 버전으로 변경
원하는 대로 결과가 잘 나와서 만족스럽다
쉬운듯 보였으나 처음해보니 막상 이런저런 문제가 발생해서 2일 정도 걸린것 같다.
'스터디일지 > PROJECT' 카테고리의 다른 글
Final Project - Random Navi - 버튼 수정 하기 (0) | 2023.10.31 |
---|---|
Final Project - Random Navi - 기본 길 찾기 경로 이탈 처리하기 (1) | 2023.10.30 |
[2주 프로젝트] Trello 프로젝트 - PART 1 배포하기 (0) | 2023.09.19 |
[Java Spring] CascadeType.REMOVE와 orphanRemoval = true (0) | 2023.09.09 |
[Java Spring] 숙련 1 주차 강의 - PART 2 (0) | 2023.09.01 |