일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- gnu wget
- u-03
- mac
- Intellj
- generic i/o error
- r진법
- Tibero
- Oracle
- arm64
- Java
- virtualfile
- 보안조치
- vscode
- tlserror
- JetBrains
- rocky8
- TLS1.1
- MacOS
- rocky8.8
- docker
- TLSv1
- nexacro
- community server connector
- c##
- crownix7
- Chrony
- VisualStudioCode
- tls1.0
- U-06
- Linux
Archives
- Today
- Total
Jit_Log
[JAVA][Swagger] Whitelabel Error Page 본문
들어가기 전
Spring Swagger 연동중 Whitelabel Error Page로 이동하며 연동 오류가 발생하였습니다.
서버 환경은 다음과 같습니다.
서버 환경
Java: JDK 17
Framework: SpringBoot 3.x + Swagger2.x
오류 원인
Springboot 3.x에서 지원하는 Swagger 의존성이 맞지 않아 오류가 발생하였습니다.
해결 과정
Swagger 2 버전 이상으로 의존성을 추가합니다. 이때, Springfox ~~ 가 아닌 Springdoc ~~ 의존성을 사용합니다.
- bulid.gradle
// Spring 3.x 이상부터 Springfox 대신, Sringdoc 사용
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0'
하지만 아래와 같이 오류가 발생했습니다.. ㅠㅠ
이유를 찾아보니 Springdoc 을 추가하면서 Springfox를 완벽하게 제거하지 않은 것이 충돌을 일으킨 것 같습니다.
- SwaggerConfiguration.java
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.OpenAPI;
import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class SwaggerConfiguration {
@Bean
public OpenAPI customOpenAPI() {
return new OpenAPI()
.info(new Info()
.title("Spring Boot Open API Test With Swagger")
.description("ominfilmProject Admin API")
.version("1.0.0"));
}
/* 경로 변경으로 인해 삭제
@Bean
public GroupedOpenApi adminApi() {
return GroupedOpenApi.builder()
.group("admin")
.pathsToMatch("/admin/**")
.build();
} */
}
Springdoc 에 맞는 문법으로 변경해주니 정상적으로 작동했습니다.