STK10-09 종목·기준일 수급 팩터 read API
작업 내용
추천 스코어링이 소비할 수급 팩터 조회 API를 구현한다.
- presentation:
MarketFlowApiController—GET /market-flow?symbol&baseDate(또는 기간), 5종 팩터를 합쳐 응답 - application:
GetMarketFlowUseCase→MarketFlowDomainService.findBy(symbol, baseDate) - Response: 외국인·기관 순매수, 외국인 보유율, PER/PBR/배당, 공매도 잔고비중, 신용잔고 비중
- 미수집 항목은 null로 반환해 소비측이 graceful하게 가중 제외
다이어그램
처리 흐름
sequenceDiagram participant ML as ml scoring participant Ctrl as MarketFlowApiController participant UC as GetMarketFlowUseCase participant DS as MarketFlowDomainService ML->>Ctrl: GET /market-flow?symbol&baseDate Ctrl->>UC: execute(query) UC->>DS: findBy(symbol, baseDate) DS-->>UC: factors (null 허용) UC-->>Ctrl: response Ctrl-->>ML: factors json
클래스 의존
flowchart LR Controller[MarketFlowApiController] --> UC[GetMarketFlowUseCase] UC --> DS[MarketFlowDomainService] DS --> Repos[(5 Repositories)]
테스트 케이스
- 종목·기준일로 5종 팩터를 합쳐 반환한다
- 미수집 팩터는 null로 반환한다 (404 아님)
- 기간 조회 시 거래일 기준 정렬로 반환한다 (공매도 포함)
- 존재하지 않는 종목은 빈 팩터를 반환한다