Analytics Service context-path 설정 및 Controller 경로 최적화

- context-path 추가: /api/v1/analytics
- Swagger UI 경로를 기본값으로 수정 (/swagger-ui.html)
- 모든 Controller의 @RequestMapping에서 /api/v1 제거
  - Events 관련 Controller 4개: /api/v1/events → /events
  - Users 관련 Controller 4개: /api/v1/users → /users
  - DebugController: /api/debug → /debug

이제 Ingress를 통한 접근 및 Swagger UI가 정상 작동합니다.
- Swagger UI: /api/v1/analytics/swagger-ui/index.html
- API: /api/v1/analytics/events/{eventId}/analytics

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Hyowon Yang 2025-10-30 16:15:31 +09:00
parent c53cbdf4f8
commit 97f50fd751
10 changed files with 11 additions and 10 deletions

View File

@ -22,7 +22,7 @@ import java.time.LocalDateTime;
@Tag(name = "Analytics", description = "이벤트 성과 분석 및 대시보드 API") @Tag(name = "Analytics", description = "이벤트 성과 분석 및 대시보드 API")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/api/v1/events") @RequestMapping("/events")
@RequiredArgsConstructor @RequiredArgsConstructor
public class AnalyticsDashboardController { public class AnalyticsDashboardController {

View File

@ -22,7 +22,7 @@ import java.util.List;
@Tag(name = "Channels", description = "채널별 성과 분석 API") @Tag(name = "Channels", description = "채널별 성과 분석 API")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/api/v1/events") @RequestMapping("/events")
@RequiredArgsConstructor @RequiredArgsConstructor
public class ChannelAnalyticsController { public class ChannelAnalyticsController {

View File

@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.RestController;
@Tag(name = "Debug", description = "디버그 API (개발/테스트 전용)") @Tag(name = "Debug", description = "디버그 API (개발/테스트 전용)")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/api/debug") @RequestMapping("/debug")
@RequiredArgsConstructor @RequiredArgsConstructor
public class DebugController { public class DebugController {

View File

@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.*;
@Tag(name = "ROI", description = "투자 대비 수익률 분석 API") @Tag(name = "ROI", description = "투자 대비 수익률 분석 API")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/api/v1/events") @RequestMapping("/events")
@RequiredArgsConstructor @RequiredArgsConstructor
public class RoiAnalyticsController { public class RoiAnalyticsController {

View File

@ -24,7 +24,7 @@ import java.util.List;
@Tag(name = "Timeline", description = "시간대별 분석 API") @Tag(name = "Timeline", description = "시간대별 분석 API")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/api/v1/events") @RequestMapping("/events")
@RequiredArgsConstructor @RequiredArgsConstructor
public class TimelineAnalyticsController { public class TimelineAnalyticsController {

View File

@ -22,7 +22,7 @@ import java.time.LocalDateTime;
@Tag(name = "User Analytics", description = "사용자 전체 이벤트 통합 성과 분석 API") @Tag(name = "User Analytics", description = "사용자 전체 이벤트 통합 성과 분석 API")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/api/v1/users") @RequestMapping("/users")
@RequiredArgsConstructor @RequiredArgsConstructor
public class UserAnalyticsDashboardController { public class UserAnalyticsDashboardController {

View File

@ -22,7 +22,7 @@ import java.util.List;
@Tag(name = "User Channels", description = "사용자 전체 이벤트 채널별 성과 분석 API") @Tag(name = "User Channels", description = "사용자 전체 이벤트 채널별 성과 분석 API")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/api/v1/users") @RequestMapping("/users")
@RequiredArgsConstructor @RequiredArgsConstructor
public class UserChannelAnalyticsController { public class UserChannelAnalyticsController {

View File

@ -20,7 +20,7 @@ import java.time.LocalDateTime;
@Tag(name = "User ROI", description = "사용자 전체 이벤트 ROI 분석 API") @Tag(name = "User ROI", description = "사용자 전체 이벤트 ROI 분석 API")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/api/v1/users") @RequestMapping("/users")
@RequiredArgsConstructor @RequiredArgsConstructor
public class UserRoiAnalyticsController { public class UserRoiAnalyticsController {

View File

@ -22,7 +22,7 @@ import java.util.List;
@Tag(name = "User Timeline", description = "사용자 전체 이벤트 시간대별 분석 API") @Tag(name = "User Timeline", description = "사용자 전체 이벤트 시간대별 분석 API")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/api/v1/users") @RequestMapping("/users")
@RequiredArgsConstructor @RequiredArgsConstructor
public class UserTimelineAnalyticsController { public class UserTimelineAnalyticsController {

View File

@ -76,6 +76,7 @@ spring:
server: server:
port: ${SERVER_PORT:8086} port: ${SERVER_PORT:8086}
servlet: servlet:
context-path: /api/v1/analytics
encoding: encoding:
charset: UTF-8 charset: UTF-8
enabled: true enabled: true
@ -117,7 +118,7 @@ springdoc:
api-docs: api-docs:
path: /v3/api-docs path: /v3/api-docs
swagger-ui: swagger-ui:
path: /api/v1/analytics/swagger-ui.html path: /swagger-ui.html
tags-sorter: alpha tags-sorter: alpha
operations-sorter: alpha operations-sorter: alpha
show-actuator: false show-actuator: false