-
스프링부트 2.6 과 Swagger-ui 가 호환 안되는 문제Spring 2022. 4. 26. 17:49
스프링 부트 2.6 으로 진행하는 프로젝트에서 스웨거를 적용하려는 문제가 발생하였다.
NullPointerException 이 나면서 springfox가 DI 되지 않는것 같은데 스프링 부트 2.6과 springfox가 호환되지 않는것 같다.
@Component public class SwaggerConfig extends WebMvcConfigurationSupport { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/swagger-ui/**").addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/"); registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/"); } ....생략 }
SwaggerConfig 에 WebMvcConfigurationSupport 를 상속받아서
addResourceHandlers 를 오버라이딩 한 후 스웨거가 적용이 되었다.
하지만, WebMvc 의 함수를 오버라이딩해서 페이징이 안되는 문제가 생겼다.
spring boot 버전을 바꾸면 springfox가 호환이 잘 될테지만 협업 중이라 어떤 문제가 생길지 모르기 때문에
검색 후 springdoc 으로 적용을 해보았다.
build.gradle
implementation group: 'org.springdoc', name: 'springdoc-openapi-ui', version: '1.6.4'
SwaggerConfig.java
@Component public class SwaggerConfig { @Bean public OpenAPI openAPI() { Info info = new Info().title("For-rest API").version("1") .description("https://for-rest.herokuapp.com/") .license(new License().name("© 2022. for-rest back").url("https://github.com/Couch-Coders/7th-for_rest-be")); return new OpenAPI() .components(new Components()) .info(info); } }
springdoc 으로 스웨거를 적용하니 스프링 부트 2.6 에서도 가능하다.
'Spring' 카테고리의 다른 글
에러핸들링 : GlobalExceptionHandler (0) 2022.04.28 페이징 처리 (0) 2022.04.26 API 명세서 (0) 2022.04.19 ERD 설계 (0) 2022.04.19 협업 프로젝트 시작 (0) 2022.03.22