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>
23 lines
720 B
Java
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";
|
|
}
|
|
}
|