snp-sync-batch/src/main/java/com/snp/batch/global/controller/WebViewController.java
HYOJIN 924135e360 feat(동기화현황): 동기화 현황 메뉴 추가 (#1)
Backend:
- SyncStatusService: batch_flag 기반 테이블별 N/P/S 집계 (병렬 조회)
- SyncDataPreviewResponse/SyncStatusResponse DTO 추가
- BatchController: sync-status 조회/미리보기/P상태조회/리셋 API 4개
- BatchTableProperties: application.yml 테이블 매핑 ConfigurationProperties
- WebViewController: /sync-status SPA 라우트 추가

Frontend:
- SyncStatus 페이지: 도메인 탭 + 테이블 아코디언 + 인라인 데이터 테이블
- SyncDataPreviewModal/StuckRecordsModal 컴포넌트
- batchApi.ts: SyncStatus 관련 타입 및 API 함수 추가
- App.tsx 라우트 + Navbar 메뉴 추가

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 17:12:20 +09:00

23 lines
720 B
Java

package com.snp.batch.global.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
/**
* SPA(React) fallback 라우터
*
* React Router가 클라이언트 사이드 라우팅을 처리하므로,
* 모든 프론트 경로를 index.html로 포워딩한다.
*/
@Controller
public class WebViewController {
@GetMapping({"/", "/jobs", "/executions", "/executions/{id:\\d+}",
"/schedules", "/schedule-timeline", "/sync-status",
"/jobs/**", "/executions/**",
"/schedules/**", "/schedule-timeline/**", "/sync-status/**"})
public String forward() {
return "forward:/index.html";
}
}