Skip to content

Conversation

@1117mg
Copy link
Member

@1117mg 1117mg commented Aug 16, 2025

📌 PR 제목

📋 작업 내용

  • feat: 도전기록 조회 API (전체, 암장별 필터링, 성공/실패 필터링)

✅ 체크리스트

  • 테스트를 완료했나요?
  • 코드 컨벤션을 지켰나요?
  • 관련 문서를 업데이트 했나요?

@1117mg 1117mg self-assigned this Aug 16, 2025
@1117mg 1117mg added the enhancement New feature or request label Aug 16, 2025
@claude
Copy link

claude bot commented Aug 16, 2025

Claude finished @1117mg's task —— View job


코드 리뷰 완료

할 일 목록

  • 변경된 파일들 분석
  • 코드 리뷰 작성
  • 최종 피드백 제공

변경 사항 요약

이번 PR은 도전기록 조회 API를 GymController에서 AttemptController로 적절히 이동시켰습니다. 전체 도전기록, 암장별 필터링, 성공/실패 필터링 기능을 지원하는 페이지네이션 API를 추가했습니다. AttemptResponse DTO도 GymAttemptResponse에서 AttemptResponse로 적절히 리네이밍되었습니다. 리포지토리 계층에 필요한 쿼리 메서드들이 추가되었고, JPA JOIN FETCH를 활용해 N+1 문제를 예방했습니다.

코드 리뷰

AttemptController.java:208 - issue: @RequestParam(defaultValue = "true") Boolean success 파라미터가 boolean 원시타입이 아닌 Boolean 객체 타입으로 선언되어 null 값 처리 이슈 발생 가능 - boolean success로 변경하거나 null 체크 로직 추가 필요

AttemptServiceImpl.java:421 - suggestion: gymId가 null인지 확인하는 로직에서 gymId 존재 여부를 실제로 검증하지 않음 - 존재하지 않는 gymId로 요청 시 빈 결과만 반환되므로 gym 존재 여부 확인 로직 추가 검토

@claude
Copy link

claude bot commented Aug 16, 2025

Claude finished @1117mg's task —— View job


코드 리뷰 완료

할 일 목록

  • 변경된 파일들 분석
  • 코드 리뷰 작성
  • 최종 피드백 제공

변경 사항 요약

이번 PR은 도전기록 조회 API를 GymController에서 AttemptController로 적절히 이동시켰습니다. 전체 도전기록, 암장별 필터링, 성공/실패 필터링 기능을 지원하는 페이지네이션 API를 추가했습니다. AttemptResponse DTO도 GymAttemptResponse에서 AttemptResponse로 적절히 리네이밍되었습니다. 리포지토리 계층에 필요한 쿼리 메서드들이 추가되었고, JPA JOIN FETCH를 활용해 N+1 문제를 예방했습니다.

코드 리뷰

AttemptServiceImpl.java:421 - suggestion: gymId가 null인지 확인하는 로직에서 gymId 존재 여부를 실제로 검증하지 않음 - 존재하지 않는 gymId로 요청 시 빈 결과만 반환되므로 gym 존재 여부 확인 로직 추가 검토


@1117mg 1117mg merged commit 00d5dee into main Aug 16, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants