[FEAT] 샘플 이미지 업로드 API 구현, 이외 사진 도메인 리팩토링 #92
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
❗️ 이슈 번호
Closes #87
📝 작업 내용
ShareGroupServiceImpl
과FaceDetctionServiceImpl
의 순환참조 문제 해결PhotoController
,PhotoService
,PhotoServiceImpl
의 함수 순서를 수정하였다.PhotoConverter
를 사용하지 않고new
연산자로 dto 객체를 생성하는 코드를 converter를 사용하도록 리팩토링하였다.PhotoEsInfo
,PagedPhotoEsInfo
에서 'Es' 키워드를 제거하였다.💭 주의 사항
💡 리뷰 포인트
사진 업로드 시, 새로 업로드된 사진에 대해 얼굴 인식을 위해 아래 코드를 호출한다.
faceDetectionService.detectFaceUploadPhoto(photoNameList, shareGroup.getId(), memberIdList);
기존에는
memberIdList
파라미터를 전달하지 않고,detectFaceUploadPhoto()
내부에서memberIdList
를 구했다. 이 과정에서ShareGroupServiceImpl
을 참조함으로써 순환 참조가 발생하였다. 이를 해결하기 위해, 파라미터로memberIdList
를 전달하도록 리팩토링하였다.리팩토링 과정에서 해당 공유 그룹에 참여한 회원의 프로필에서
memberId
를 추출할 때, 아직 회원이 참여하지 않은 프로필은getMember()
의 값이 null이므로filter()
메소드를 통해 null이 아닌 값만 데이터 가공에 포함되도록 수정하였다.