[STK4-04] 종목 조회·검색 API
작업 내용 (설계 의도)
변경 사항
StockApiController에 종목 리스트 조회(GET /api/v1/stocks)와 종목 검색(GET /api/v1/stocks/search?q=) 엔드포인트를 구현한다. Request → Command → DomainService → Response DTO 흐름을 따른다. 페이지네이션은 리스트 API에 적용한다.
선행: STK4-02
다이어그램
처리 흐름
sequenceDiagram participant FE as FE participant Ctrl as StockApiController participant UC as SearchStocksUseCase participant DS as StockDomainService FE->>Ctrl: GET /api/v1/stocks/search?q=삼성 Ctrl->>UC: execute(SearchStocksCommand) UC->>DS: searchStocks("삼성") DS-->>UC: List<Stock> UC-->>Ctrl: List<StockResponse> Ctrl-->>FE: 200 OK
클래스 의존
flowchart LR StockApiController --> SearchStocksUseCase StockApiController --> GetStockPricesUseCase SearchStocksUseCase --> StockDomainService
테스트 케이스
GET /api/v1/stocks호출 시 200과 종목 목록을 반환한다GET /api/v1/stocks/search?q=삼성호출 시 관련 종목 목록을 반환한다GET /api/v1/stocks/search?q=빈 쿼리 시 전체 종목을 반환한다GET /api/v1/stocks/{symbol}미존재 심볼 요청 시 404를 반환한다- Controller가 Repository를 직접 참조하지 않는다 (UseCase 경유)