swagger-ui loading slow
2023, May 11
problem
- swagger-ui를 통해서 api테스트를 하려고 하는데, api가 적은수임에도 화면 로딩이나 execute자체가 느린 현상이 발생했다.
try1. use custom ui
- 커스텀 UI 사용하는 방법으로 ReDoc이나 Spectacle 같은 UI를 통해 커스텀 할 수 있다고 한다.
try2. delete un-used tags
- 불필요한 태그들은 삭제한다.
- 기본 화면에는 end point, sample, parameter 등등을 표시하기 때문에 API 수에 따라 페이지가 엄청 길어질 수 있다. 사용안하는 태그들은 정리하면 속도에 도움될 수 있다.
try3. use ‘deepLinking’ option
- 화면 지연로딩 옵션을 설정할 수 있다. 그래서 필요한 부분만 먼저 로딩하고 나머지는 호출될 때 로딩하도록 하는 방법
- 적용방법
- properties나 yml에 적용한다.
springdoc.swagger-ui.deepLinking=true
- 단점
- deep linking 옵션을 사용하면, URL 주소창에서 직접 API 문서 페이지의 경로를 입력해서 접근할 수 있게 되고, 결국 이는 보안에 취약할 수 있다.