| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 담당자 | 서비스명 | 마이크로서비스 이름 | 유저스토리 ID | 유저스토리 제목 | Controller 이름 | API 목적 | API Method | API 그룹 Path | API Path | Path <변수유형> <변수명> | Query Key | Query <변수유형> <변수명> | Request DTO 이름 | Request DTO 배열 여부 | Request DTO 구조 | Response DTO 이름 | Response DTO 배열 여부 | Response DTO 구조 | ||||||||
2 | 사용자 컨텍스트 | User Service | USR-001 | 정상 로그인 | AuthController | 구글 SSO 로그인 처리 | POST | /oauth2/authorization | code <String> authCode | LoginResponse | FALSE | {accessToken: String, refreshToken: String, isNewUser: boolean, userId: String, expiresIn: int} | |||||||||||||||
3 | 사용자 컨텍스트 | User Service | USR-002 | 회원정보 등록 | UserController | 회원 정보 등록 | POST | /api/user | /register | UserRegistrationRequest | FALSE | {name: String, birthDate: String, occupation: String} | UserRegistrationResponse | FALSE | {userId: String, message: String, status: String, } | ||||||||||||
4 | 건강 컨텍스트 | Health Service | USR-009 | 건강검진 결과 이력 | HealthController | 건강검진 이력 조회( 최근 5개년 포함) | GET | /api/health | /checkup/history | limit <int> maxRecords | HealthHistoryResponse | FALSE | { success : true/false :boolean userInfo: {name: String, age: int, gender: String, occupation: String}, recentHealthProfile: [{year: int, month: int, height: int, weight: int, waist: int, bmi: double, vision: String, hearing: String, bloodPressure: String, bloodTest: Object}], healthProfiles: List<HealthProfile> } | ||||||||||||||
5 | 건강 컨텍스트 | Health Service | 건강검진 파일 업로드 | HealthController | 건강검진 파일 Azure Blob 저장 | POST | /api/health | /checkup/upload | CheckupFileRequest | FALSE | {userId: String, fileName: String, fileType: String, fileContent: String} | FileUploadResponse | FALSE | {fileId: String, uploadUrl: String, status: String, message: String} | |||||||||||||
6 | 헤헤 | 지능형서비스 컨텍스트 | Intelligence Service | USR-004 | AI 3줄 요약 진단 | AnalysisController | 건강검진 결과 AI 3줄 요약 | GET | /api/intelligence | /health/diagnosis | HealthDiagnosisResponse | FALSE | {threeSentenceSummary: [String], healthScore: int, riskLevel: String, occupationConsiderations: String, analysisTimestamp: String, confidenceScore: double} | ||||||||||||||
7 | 헤헤 | 지능형서비스 컨텍스트 | Intelligence Service | USR-004 | AI 추천 건강 미션 | AnalysisController | AI 기반 미션 추천 | POST | /api/intelligence | /missions/recommend | MissionRecommendationResponse | FALSE | {missions: [{missionId: String, title: String, description: String, category: String, difficulty: String, healthBenefit: String, occupationRelevance: String, estimatedTimeMinutes: int}], recommendationReason: String, totalRecommended: int} | ||||||||||||||
8 | 그네 | 목표 컨텍스트 | Goal Service | USR-010 | 목표 설정 시작 | GoalController | 미션 선택 및 목표 설정 | POST | /api/goals | /missions/select | MissionSelectionRequest | FALSE | {memberSerialNumber: Long, selectedMissionIds: [String]} | GoalSetupResponse | FALSE | {goalId: String, selectedMissions: [{missionId: String, title: String, description: String, startDate: String}], message: String, setupCompletedAt: String} | |||||||||||
9 | 그네 | 목표 컨텍스트 | Goal Service | USR-011 | 설정한 목표 관리 | GoalController | 설정된 목표 조회 | GET | /api/goals | /missions/active | memberSerialNumber <Long> memberSerialNumber | ActiveMissionsResponse | FALSE | {dailyMissions: [{missionId: String, title: String, description: String, status: String, completedToday: boolean, streakDays: int, nextReminderTime: String}], totalMissions: int, todayCompletedCount: int, completionRate: double} | |||||||||||||
10 | 그네 | 목표 컨텍스트 | Goal Service | USR-012 | 목표 달성 기록 | GoalController | 미션 완료 처리 | PUT | /api/goals | /missions/{missionId}/complete | <String> missionId | MissionCompleteRequest | FALSE | {memberSerialNumber: Long, completed: boolean, completedAt: String, notes: String} | MissionCompleteResponse | FALSE | {message: String, status: String, achievementMessage: String, newStreakDays: int, totalCompletedCount: int, earnedPoints: int} | ||||||||||
11 | 그네 | 목표 컨텍스트 | Goal Service | USR-013 | 목표 달성 이력 | GoalController | 미션 달성 이력 조회 | GET | /api/goals | /missions/history | memberSerialNumber <Long> memberSerialNumber, startDate <String> startDate, endDate <String> endDate, missionIds <String> missionIds | MissionHistoryResponse | FALSE | {totalAchievementRate: double, periodAchievementRate: double, bestStreak: int, missionStats: [{missionId: String, title: String, achievementRate: double, completedDays: int, totalDays: int}], chartData: Object, period: {startDate: String, endDate: String}, i nsights: [String]} | |||||||||||||
12 | 헤헤 | 지능형서비스 컨텍스트 | Intelligence Service | USR-005 | 챗봇 상담 | ChatController | AI 채팅 상담 | POST | /api/ | /chat/consultation | ChatRequest | FALSE | message: String, sessionId: String, context: String} | ChatResponse | FALSE | {response: String, sessionId: String, timestamp: String, suggestedQuestions: [String], responseType: String} | |||||||||||
13 | 헤헤 | 지능형서비스 컨텍스트 | Intelligence Service | 채팅 히스토리 조회 | ChatController | 채팅 기록 조회 | GET | /api/ | /chat/history | sessionId <String> sessionId, limit <int> messageLimit | ChatHistoryResponse | FALSE | {sessionId: String, messages: [{role: String, content: String, timestamp: String}], totalMessageCount: int, cacheExpiration: String} | ||||||||||||||
14 | 헤헤 | 지능형서비스 컨텍스트 | Intelligence Service | USR-007 | 미션 달성 축하 | NotificationController | 미션 달성 축하 메시지 | POST | /api/intelligence | /notifications/celebration | CelebrationRequest | FALSE | {userId: String, missionId: String, achievementType: String, consecutiveDays: int, totalAchievements: int} | CelebrationResponse | FALSE | {congratsMessage: String, achievementBadge: String, healthBenefit: String, nextMilestone: String, encouragementLevel: String, visualEffect: String} | |||||||||||
15 | 헤헤 | 지능형서비스 컨텍스트 | Motivator Service | USR-006 | 미션 독려 | NotificationController | 미션 독려 메시지 생성 | POST | /api/intelligence | /notifications/encouragement | EncouragementRequest | FALSE | {userId: String, missionsStatus: [{missionId: String, completed: boolean}]} | EncouragementResponse | FALSE | {message: String, motivationType: String, timing: String, personalizedTip: String, priority: String} | |||||||||||
16 | 목표 컨텍스트 | Goal Service | 미션 재설정 | GoalController | 미션 재설정 | POST | /api/goals | /missions/reset | MissionResetRequest | FALSE | {memberSerialNumber: Long, reason: String, currentMissionIds: [String]} | MissionResetResponse | FALSE | {message: String, newRecommendations: [{missionId: String, title: String, description: String, category: String}], resetCompletedAt: String} | |||||||||||||
17 | 지능형서비스 컨텍스트 | Motivator Service | 배치 알림 처리 | BatchController | 주기적 AI 알림 트리거 | POST | /api/intelligence | /batch/notifications | BatchNotificationRequest | FALSE | {triggerTime: String, targetUsers: [String], notificationType: String} | BatchNotificationResponse | FALSE | {processedCount: int, successCount: int, failedCount: int, nextScheduledTime: String} | |||||||||||||
18 | |||||||||||||||||||||||||||
19 | |||||||||||||||||||||||||||
20 | |||||||||||||||||||||||||||
21 | |||||||||||||||||||||||||||
22 | |||||||||||||||||||||||||||
23 | |||||||||||||||||||||||||||
24 | |||||||||||||||||||||||||||
25 | |||||||||||||||||||||||||||
26 | |||||||||||||||||||||||||||
27 | |||||||||||||||||||||||||||
28 | |||||||||||||||||||||||||||
29 | |||||||||||||||||||||||||||
30 | |||||||||||||||||||||||||||
31 | |||||||||||||||||||||||||||
32 | |||||||||||||||||||||||||||
33 | |||||||||||||||||||||||||||
34 | |||||||||||||||||||||||||||
35 | |||||||||||||||||||||||||||
36 | |||||||||||||||||||||||||||
37 | |||||||||||||||||||||||||||
38 | |||||||||||||||||||||||||||
39 | |||||||||||||||||||||||||||
40 | |||||||||||||||||||||||||||
41 | |||||||||||||||||||||||||||
42 | |||||||||||||||||||||||||||
43 | |||||||||||||||||||||||||||
44 | |||||||||||||||||||||||||||
45 | |||||||||||||||||||||||||||
46 | |||||||||||||||||||||||||||
47 | |||||||||||||||||||||||||||
48 | |||||||||||||||||||||||||||
49 | |||||||||||||||||||||||||||
50 | |||||||||||||||||||||||||||
51 | |||||||||||||||||||||||||||
52 | |||||||||||||||||||||||||||
53 | |||||||||||||||||||||||||||
54 | |||||||||||||||||||||||||||
55 | |||||||||||||||||||||||||||
56 | |||||||||||||||||||||||||||
57 | |||||||||||||||||||||||||||
58 | |||||||||||||||||||||||||||
59 | |||||||||||||||||||||||||||
60 | |||||||||||||||||||||||||||
61 | |||||||||||||||||||||||||||
62 | |||||||||||||||||||||||||||
63 | |||||||||||||||||||||||||||
64 | |||||||||||||||||||||||||||
65 | |||||||||||||||||||||||||||
66 | |||||||||||||||||||||||||||
67 | |||||||||||||||||||||||||||
68 | |||||||||||||||||||||||||||
69 | |||||||||||||||||||||||||||
70 | |||||||||||||||||||||||||||
71 | |||||||||||||||||||||||||||
72 | |||||||||||||||||||||||||||
73 | |||||||||||||||||||||||||||
74 | |||||||||||||||||||||||||||
75 | |||||||||||||||||||||||||||
76 | |||||||||||||||||||||||||||
77 | |||||||||||||||||||||||||||
78 | |||||||||||||||||||||||||||
79 | |||||||||||||||||||||||||||
80 | |||||||||||||||||||||||||||
81 | |||||||||||||||||||||||||||
82 | |||||||||||||||||||||||||||
83 | |||||||||||||||||||||||||||
84 | |||||||||||||||||||||||||||
85 | |||||||||||||||||||||||||||
86 | |||||||||||||||||||||||||||
87 | |||||||||||||||||||||||||||
88 | |||||||||||||||||||||||||||
89 | |||||||||||||||||||||||||||
90 | |||||||||||||||||||||||||||
91 | |||||||||||||||||||||||||||
92 | |||||||||||||||||||||||||||
93 | |||||||||||||||||||||||||||
94 | |||||||||||||||||||||||||||
95 | |||||||||||||||||||||||||||
96 | |||||||||||||||||||||||||||
97 | |||||||||||||||||||||||||||
98 | |||||||||||||||||||||||||||
99 | |||||||||||||||||||||||||||
100 |