Actions
새기능 #526
open[백엔드/리팩토링] 대형 구조 개선 — ChartController 분리 · Map→DTO · curl→RestTemplate
Status:
해결
Priority:
보통
Assignee:
-
Start date:
06/27/2026
Due date:
% Done:
80%
Estimated time:
Description
#520에서 분리(대형/구조 리팩토링, 별도 진행).
항목¶
- ChartController(614줄) god-class 분리: Chart/Media(youtube·karaoke)/Lyrics/Visitor/CacheAdmin 컨트롤러로 분할(라우트 동일 유지). 로직은 서비스로 이동.
- Map<String,Object> 전면 사용 + CLOB 병렬배열 매핑 → DTO/MyBatis resultMap/typeHandler.
- 외부 HTTP를 curl ProcessBuilder로 호출(youtube/invidious/karaoke, ChartController:307/371/444) → RestTemplate/WebClient(연결풀·타임아웃) + Jsoup/objectMapper 파싱. (외부 의존이라 라이브 검증 필요.)
라우트/응답 형태는 불변 유지가 인수조건. Design-First 권장. [AI 등록]
Actions