스웨거의 URL 인 /swagger 를 접속했는데, Fail To load API 문구가 떴다.....
스웨거에 대해선 직접 구현해본 경험이 없어서 몸으로 부딪히다가 난 에러라 좀 당황스러웠다.
(FastAPI 가 좋은거구나...)
에러를 찾아보니 @RestControllerAdvice 를 쓰지않았을 때
동작이 되는 블로그 글을 찾아본 후 직접 적용해봤는데 똑같은 에러였다.
@ControllerAdvice 애노테이션과 Swagger 사이에 일어난 충돌이다.
@ControllerAdvice가 없다면 Swagger는 controller class를 가져와 API 정의를 분석한다.
@ControllerAdvice가 있다면 Swagger 응답이 내가 응답을 통일해 둔 방식으로 변환되고,
Swagger 웹 페이지는 응답 구조를 인식할 수 없게 된다.
plugins {
id 'java'
id 'org.springframework.boot' version '3.3.1' // 기존 3.4.3
id 'io.spring.dependency-management' version '1.1.7'
}
출처: https://dev-meung.tistory.com/entry/해커톤-HY-THON-트러블슈팅-Swagger-500-에러-Failed-to-load-API-definition
[IT::Coding:티스토리]