반응형

swagger 도입하면서 사소한 오류들이 은근히 짜증나서 정리해 두기로 했다.
사실 정리랄 것도 없는 게 결론적으로 버전을 3.0.0으로 잡아주면 해결된다.
swagger 페이지 매핑이 안 되는 경우.
There was an unexpected error (type=Not Found, status=404).
No handler found for GET /swagger-ui.html
org.springframework.web.servlet.NoHandlerFoundException: No handler found for GET /swagger-ui.html
이 에러는 짚이는 구석이 너무 많아서 애먹었다.
원인은 찾았고 해결은 했는데 솔직히 이게 왜 뜬 건지는 아직도 모르겠음...
역시 동일하게 2.xx버전에서는 리소스핸들러를 수동으로 등록해줘야 한다고 한다.
WebMvcConfigurer를 implement한 @Config파일에 추가해 준다.
@Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("swagger-ui.html") .addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/"); }
@RequestBody를 param으로 받는 Post/Put method가 인식이 안 되는 문제
Swagger ui에 접속하면 Get이나 Delete 방식의 API만 잡히는 오류인데, 2.xx버전에서 이런 문제가 발생한다고 한다.
이건 방법도 없고 그냥 버전 높여주는 게 답인 것 같다.
해결
pom.xml에 swagger dependency를 3.0으로 넣어주기
<!-- Swagger Setting --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency>
swagger ui 경로
3.0.0
http://localhost:8080/swagger-ui/index.html
2.9.2
http://localhost:8080/swagger-ui.html
반응형
'Web > Spring' 카테고리의 다른 글
[Test] 실제 DB로 @DataJpaTest 돌리면 뜨는 "Failed to replace DataSource with an embedded database for tests" 에러 (0) | 2021.11.06 |
---|---|
[Custom datasource] hikary.jdbc-url 쓰다가 Failed to configure a DataSource: 'url' 발생 (0) | 2021.11.06 |
[Spring] OXM, 서비스 추상화, 빈 애노테이션, @Import, @Profile, @Enable* (0) | 2021.10.29 |
[Spring] 프록시, AOP, 트랜잭션 (0) | 2021.10.29 |
[Spring] 테스트, 템플릿, 예외 (0) | 2021.10.29 |
댓글