인프런 커뮤니티 질문&답변

harry님의 프로필 이미지
harry

작성한 질문수

[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발

Swagger Documentation 구현 - Spring Boot 2.7 사용 ①

swagger-ui.html

작성

·

1.7K

0

안녕하세요 기존의 프로젝트에 swagger를 적용시켜보려고 합니다. 강의 내용대로 따라가고 있는데, http://localhost:8080/v2/api-docs 는 잘 실행되는데

http://localhost:8080/swagger-ui.html 은 404 에러가 뜨네요;;; 왜 매핑이 안되는걸까요?

답변 5

5

swagger 3.0.0 부터 swagger-ui.html 의 경로가 

/swagger-ui.html 에서

/swagger-ui/index.html 로 

변경되었다고 합니다. 그래서 3.0.0 사용하시는 분들은 

/swagger-ui/index.html 혹은 /swagger-ui/ 로 접속하시면 될 것 같습니다.

참고 링크  : https://github.com/springfox/springfox/issues/3360

5

http://localhost:8080/swagger-ui/

끝에 슬래쉬(/)까지 하니까 저는 잘 나옵니다.

슬래쉬 삭제하면 안나옵니다.

2

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다. 

Spring Boot 2.0 이상에서 Swagger 라이브러리와 충돌나는 부분이 있으며, 아래 내용을 추가해 보시기 바랍니다. 

https://stackoverflow.com/questions/50618350/swagger-with-spring-boot-2-0-leads-to-404-error-page

먼저 pom.xml 파일에 (버전은 2.9.2 또는 3.0.0)

그리고, 자바 설정 파일에 

내용을 추가하시고 사용해 보시기 바랍니다. 

감사합니다. 

0

지현명님 댓글처럼 하니까 잘되네요. 그런데 이렇게 뒤에 html안붙이면 안되나요?

0

swagger 설정을 추가하면 됩니다.

swagger-ui.html 화일을 resource 경로에 추가할려면,  아래과 같이 WebMvcConfig.java 화일( 화일이름은 원하시는대로 하시면 됩니다. )을 넣고 빌드하시면 됩니다.

@Configuration
@EnableWebMvc
public class WebMvcConfig implements WebMvcConfigurer {
@Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/swagger-ui.html**").addResourceLocations("classpath:/META-INF/resources/swagger-ui.html");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
}
harry님의 프로필 이미지
harry

작성한 질문수

질문하기