Conversation
Summary of ChangesHello @lingard1234, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! 이 PR은 사용자가 자신의 프로필 사진을 변경할 수 있는 새로운 기능을 도입합니다. 이를 위해 새로운 API 엔드포인트, 관련 서비스 로직, 그리고 요청 데이터 전송 객체가 추가되었습니다. 이 변경 사항은 사용자 경험을 향상시키고 프로필 관리 기능을 확장합니다. Highlights
Changelog
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
안녕하세요. 프로필 사진 변경 API 추가에 대한 코드 리뷰입니다.
전반적으로 기능 구현은 잘 되었지만, 몇 가지 개선점을 제안드립니다.
- 서비스 레이어에서 코드 중복이 발견되었으며, 이는 향후 리팩토링 과제로 고려될 수 있습니다.
- DTO에 유효성 검사를 추가하여 API의 안정성을 높이는 방안을 제시했습니다.
- Swagger 문서에서 일관성을 해치는 부분을 수정하도록 제안했습니다.
자세한 내용은 각 파일에 남긴 코멘트를 참고해주세요.
| @NoArgsConstructor | ||
| public class MyProfileCardUpdateRequestDto { | ||
|
|
||
| @Size(max = 255) |
There was a problem hiding this comment.
프로필 이미지 URL은 비어있지 않은 값이어야 할 것으로 보입니다. profileImageUrl 필드에 @NotBlank 어노테이션을 추가하여 null 이나 공백 문자열이 전달되는 것을 방지하는 것이 좋습니다. 이렇게 하면 API의 유효성 검사가 더 명확해지고, 클라이언트에게 더 빠른 피드백을 줄 수 있습니다.
User.updateProfileImage 메소드에서 null 이나 공백을 처리하고 있지만, DTO 레벨에서 검증하는 것이 더 바람직합니다.
@jakarta.validation.constraints.NotBlank
@Size(max = 255)| ); | ||
|
|
||
| @Operation(summary = "회원 탈퇴", description = "회원 탈퇴(Soft Delete) 처리 후 role을 WITHDRAWN으로 변경합니다.") | ||
| @Operation(summary = "회원 탈퇴 API By 고경수 ", description = "회원 탈퇴(Soft Delete) 처리 후 role을 WITHDRAWN으로 변경합니다.") |
There was a problem hiding this comment.
Swagger API 문서의 summary에 개발자 이름을 포함하는 것은 일반적인 관행이 아닙니다. API 문서는 기능 자체에 초점을 맞춰야 하며, 작성자 정보는 Git 커밋 히스토리 등을 통해 추적하는 것이 좋습니다. summary에서 " By 고경수 " 부분을 제거하여 문서를 더 깔끔하고 전문적으로 유지하는 것을 제안합니다.
| @Operation(summary = "회원 탈퇴 API By 고경수 ", description = "회원 탈퇴(Soft Delete) 처리 후 role을 WITHDRAWN으로 변경합니다.") | |
| @Operation(summary = "회원 탈퇴 API", description = "회원 탈퇴(Soft Delete) 처리 후 role을 WITHDRAWN으로 변경합니다.") |
| @Operation(summary = "프로필 이미지 수정 API By 고경수", | ||
| description = "Attachment API로 업로드된 이미지 URL을 받아 프로필 이미지를 변경합니다") |
There was a problem hiding this comment.
Swagger API 문서의 summary에 개발자 이름을 포함하는 것은 일반적인 관행이 아닙니다. API 문서는 기능 자체에 초점을 맞춰야 하며, 작성자 정보는 Git 커밋 히스토리 등을 통해 추적하는 것이 좋습니다. summary에서 " By 고경수" 부분을 제거하여 문서를 더 깔끔하고 전문적으로 유지하는 것을 제안합니다.
| @Operation(summary = "프로필 이미지 수정 API By 고경수", | |
| description = "Attachment API로 업로드된 이미지 URL을 받아 프로필 이미지를 변경합니다") | |
| @Operation(summary = "프로필 이미지 수정 API", | |
| description = "Attachment API로 업로드된 이미지 URL을 받아 프로필 이미지를 변경합니다") |
Summary
프로필 사진 바꾸는 PATCH
Changes
MyprofileImageDto
Type of Change
Related Issues
참고 사항