Skip to content

[feat #106]: 전체 칵테일 목록 조회 API 추가 및 코드 리팩토링#107

Merged
Leesowon merged 2 commits into
devfrom
feat/#106
Mar 25, 2026
Merged

[feat #106]: 전체 칵테일 목록 조회 API 추가 및 코드 리팩토링#107
Leesowon merged 2 commits into
devfrom
feat/#106

Conversation

@Leesowon

Copy link
Copy Markdown
Contributor

📌 작업 개요

새로운 기능

  • GET /api/v2/cocktails/all 엔드포인트 추가

    • 필터링 및 페이징 없이 모든 칵테일을 조회하는 API
    • 인증 불필요 (비로그인 사용자도 사용 가능)
    • 로그인 사용자의 경우 북마크 정보 포함
  • CocktailResponseDto 개선

    • createdAt (생성 날짜) 필드 추가
    • updatedAt (수정 날짜) 필드 추가
    • Cocktail 엔티티의 타임스탬프 정보를 API 응답에 포함

리팩토링

  • CocktailResponseDto (267줄 → 192줄, 28% 감소)

    • 중복된 재료/맛/분위기 파싱 로직을 private 헬퍼 메서드로 추출
    • 주석처리된 코드 및 과도한 주석 제거
    • 모든 필드에 Swagger @Schema 어노테이션 추가하여 API 문서화 완성
  • CocktailV2Controller (536줄 → 303줄, 43% 감소)

    • 주석처리된 v1 deprecated API 메서드 및 코드 제거
    • @RequestMapping(method=GET)@GetMapping으로 통일
    • 불필요한 주석 제거
  • CocktailService (724줄 → 472줄, 35% 감소)

    • getAllCocktails, getBestCocktails, getRecentCocktails, getSpecificCocktailsV2의 중복된 user 처리 로직을 convertToCocktailResponseDtos() 헬퍼 메서드로 추출
    • 불필요한 주석, TODO, FIXME, 디버깅 로그 제거
    • 주석처리된 캐시 어노테이션 제거

✨ 기타 참고 사항

  • 기존 기능 100% 유지: 모든 리팩토링은 코드 가독성과 유지보수성 개선에만 집중했으며, 기존 동작은 변경되지 않았습니다.
  • API 호환성: 기존 16개 API 엔드포인트 모두 정상 동작하며, 새로운 API 1개가 추가되었습니다.
  • 데이터베이스 변경 없음: 엔티티 구조 변경 없이 기존 필드만 활용했습니다.
  • 성능 고려사항: /all API는 현재 약 105개의 칵테일 전체를 반환합니다. 향후 데이터가 증가할 경우 페이징 추가를 고려해야 합니다.

✅ PR 체크 리스트

  • 로컬 서버에서 정상 동작을 확인했어요.
  • 변경 내용에 대한 테스트를 진행했어요.
  • application.yml 파일을 수정했다면, Notion에 업로드 및 공유했어요.
  • 깃허브에 올라가면 안되는 정보가 있는지 확인했어요.

@Leesowon Leesowon added the Feature ✨ 새로운 기능을 추가합니다. label Mar 25, 2026
@Leesowon Leesowon merged commit f53d219 into dev Mar 25, 2026
1 check passed
@Leesowon Leesowon deleted the feat/#106 branch March 25, 2026 13:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature ✨ 새로운 기능을 추가합니다.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant