-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feat] #5 videoAlias 정보를 랜덤하게 매핑해주는 기능을 구현했어요! #16
Conversation
더미 데이터여서 그냥 만들었었는데, 피드백에 따라 변경하기로 결정
패키지 명은 모두 소문자로 한다는 컨벤션에 맞추어 소문자로 변경
해당 기능 최초 구현, 구현 방식이나 데이터의 추가가 개선되어야 할 것 같다
사용 지점과 최대한 가깝게 변수 선언 시점을 변경
메서드 체이닝을 통해 필요 없는 변수를 삭제
id를 제외한 필드를 사용하여 생성자를 만들고, 이를 통해 테스트를 진행하기 위하여 @nonnull과 @requiredargsconstructor을 사용하여 리펙토링
추후에 통합 테스트 필요 ( + POSTMAN을 이용한 API 테스트도 필요 )
추후에 통합 테스트 필요 ( + POSTMAN을 이용한 API 테스트도 필요 )
record 컨벤션, dto 컨벤션 반영 및 패키지 구조 변경
…videoAlias # Conflicts: # src/test/java/team7/inplace/VideoTest/domain/VideoTest.java # src/test/java/team7/inplace/VideoTest/repository/VideoRepositoryTest.java # src/test/java/team7/inplace/VideoTest/service/VideoServiceTest.java
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
전반적으로 코드를 잘 작성하시네요! 제가 남긴 부분은 한번 생각해보시고 반영할 부분만 반영해주세요! Approve 하겠습니다.
"이(가) 추천하는 가게에서 정성스럽게 준비된 한식으로 든든한 한 끼를!", | ||
"이(가) 극찬! 한식의 깊은 맛을 느껴보세요." | ||
)); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
어떻게 하면 좋을 진 잘 모르겠으나 template을 클래스로 분리해서 makeAlias()를 Service에서 분리하는게 어떨까 싶네요.
Service에서 해야할 일이 아닌것 같아요.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
듣고보니 그런 것 같습니다 분리하겠습니당
import team7.inplace.place.domain.Place; | ||
import team7.inplace.video.domain.Video; | ||
|
||
public class VideoTest { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이걸 Test한 목적이 무엇인가요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아직 도메인에 로직이 없긴한데, 나중에 해당 사항 테스트 할 수도 있고, 뭔가 관성적으로 한 것 같습니다
랜덤한 Alias를 매핑해주는 기능은 Service의 영역이 아니라는 피드백을 수용하여 이를 분리
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
좋은 코드였습니다!
피드백 몇가지 드렸는데 대화 나눠봐요!
src/main/java/team7/inplace/video/application/VideoService.java
Outdated
Show resolved
Hide resolved
src/main/java/team7/inplace/video/application/VideoService.java
Outdated
Show resolved
Hide resolved
public class VideoController { | ||
private final VideoService videoService; | ||
|
||
// 내 인플루언서가 방문한 그 곳 ( 토큰 0 ) | ||
@GetMapping("/video") | ||
public ResponseEntity<List<VideoResponse>> readByInfluencer( | ||
@RequestParam(name = "influencer", required = false) List<String> influencers | ||
) { | ||
List<VideoInfo> videoInfos = videoService.findByInfluencer(influencers); | ||
List<VideoResponse> videoResponses = videoInfos.stream().map(VideoResponse::new).toList(); | ||
return new ResponseEntity<>(videoResponses, HttpStatus.OK); | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Swagger에 대한 명세가 존재하지 않네요!!
src/main/java/team7/inplace/video/presentation/dto/VideoResponse.java
Outdated
Show resolved
Hide resolved
src/test/java/team7/inplace/VideoTest/repository/VideoRepositoryTest.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In으로하면 리스트로 받을수 있다네요! approve하겠습니다
랜덤한 Alias를 매핑하는 기능을 Util 클래스와 Enum 클래스로 나눠 구현
DTO 클래스의 static factory method 구현
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다!!
List<Long> influencerIds = influencerRepository.findByNameIn(influencers).stream() | ||
.map(Influencer::getId) | ||
.toList(); | ||
|
||
// 인플루언서 정보로 필터링한 비디오 정보 불러오기 | ||
List<Video> savedVideos = videoRepository.findVideosByInfluencerIdIn(influencerIds); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
나중에 Join해서 한번에 가져와도 괜찮을 것 같아요!
|
||
@Entity | ||
@Getter | ||
@NoArgsConstructor(access = lombok.AccessLevel.PROTECTED) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
static 으로 나중에 변경할게요~!
✨ 작업 내용
피드백 반영 사항
개발 사항
✨ 참고 사항
#3의 하위 이슈인 형식에 맞게 비디오 정보를 반환하는 기능 #4 videoAlias 정보를 랜덤하게 매핑해주는 기능 #5 를 개발했으니, 한 단위 개발이 완료되었다고 생각합니다, PR 승인 이후에 도메인, 서비스, 컨트롤러에 대한 테스팅 진행해보겠습니다!⏰ 현재 버그
✏ Git Close