기술스택
- Spring Boot 3.4.0
- JDK 17
- gradle
개요
스프링 부트에 Swagger의존성 추가 후 실행시키니 다음과 같은 오류가 발생했습니다.
Unable to render this definition
The provided definition does not specify a valid version field.
Please indicate a valid Swagger or OpenAPI version field. Supported version fields are swagger: "2.0" and those that match openapi: 3.x.y (for example, openapi: 3.1.0).
다른 블로그를 아무리 찾아서 따라해봐도 해결이 안되는 상황이였습니다.
해결 방법
https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-starter-webmvc-ui
혹시나 하고 의존성을 확인 후 build.gralde에 Swagger 의존성을 최신 버전으로 수정했습니다.
// swagger
// implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2' // 구버전
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.7.0'
그리고 Configuration 파일을 작성하면 됩니다.
@Configuration
public class SwaggerConfig {
@Bean
public GroupedOpenApi boardGroupedOpenApi() {
return GroupedOpenApi
.builder()
.group("board") // group 설정 (API들을 그룹화시켜 그룹에 속한 API들만 확인할 수 있도록 도와줌)
.pathsToMatch("/board/**") // group에 포함될 API endpoint 경로
.addOpenApiCustomizer(openApi ->
openApi.setInfo(new Info()
.title("board api") // API 제목
.description("게시판 업무 처리를 위한 API") // API 설명
.version("1.0.0") // API 버전
)
)
.build();
}
}
마지막으로 아래의 링크로 접속하면됩니다.
http://localhost:8080/swagger-ui/index.html
잘 동작하는 것을 확인하실 수 있습니다.
'Error Log' 카테고리의 다른 글
[Querydsl] No sources given 에러 (0) | 2024.12.01 |
---|