스웨거 설정 후 http://localhost:8080/swagger-ui/index.html로 접속을 했을 때
No operations defined in spec!
이런 문구가 떴습니다. 해결을 위해 설정 파일을 살펴보도록 하겠습니다.
프로젝트 환경 : Java 17 , SpringBoot 3.1.2 , Swagger 2.0.2
SwaggerConfig 파일
config 파일을 확인해 보니 path 가 절대경로로 설정되어 있음을 알 수 있습니다.
해당 코드를 절대경로로 수정하겠습니다.
수정 완료한 코드 ↓
@OpenAPIDefinition(
info = @Info(title = "sns",
description = "sns api - personal project",
version = "v1")
)
@RequiredArgsConstructor
@Configuration
public class SwaggerConfig {
@Bean
public GroupedOpenApi snsOpenApi(){
String[] paths = {"/v1/**"}; // 여기를 절대경로로 수정
return GroupedOpenApi.builder()
.group("sns")
.pathsToMatch(paths)
.build();
}
}
수정 후 프로젝트를 다시 실행하고
http://localhost:8080/swagger-ui/index.html 재 접속합니다.
그럼 다음과 같이 controller 에 정의한 api가 잘 뜨는 것을 확인할 수 있습니다!