-
Notifications
You must be signed in to change notification settings - Fork 1
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
refactor(file): 파일 도메인 리팩토링 #98
Conversation
import com.project.bumawiki.global.s3.controller.dto.ImageResponse; | ||
import com.project.bumawiki.global.s3.service.CommandImageService; | ||
import com.project.bumawiki.domain.file.presentation.dto.R2FileResponseDto; | ||
import com.project.bumawiki.domain.file.service.CommandFileService; | ||
|
||
import lombok.RequiredArgsConstructor; | ||
|
||
@RestController | ||
@RequiredArgsConstructor | ||
@RequestMapping("/api/s3") |
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.
엔드포인트도 r2로 통일하는게 좋지 않을까요?
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.
넵 수정하겠습니다
auth: | ||
jwt: | ||
header: ${HEADER} | ||
secret: ${SECRET} | ||
accessExp: ${ACCESS_EXP} | ||
refreshExp: ${REFRESH_EXP} | ||
prefix: ${PREFIXES} |
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.
이거 빠져도 되나요??
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.
prefix가 변경되면서 자동으로 안쓰는 부분이 지워지고 올라간거같네요.
롤백처리하겠습니당
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.
수고하셨습니다.
전체적으로 S3 -> R2로 네이밍을 변경하셨는데
현재 R2는 S3 API에 대해서 R2 엔드포인트를 연결하여 사용 중입니다.
그래서 AmazonS3가 좀 더 상위 타입에 가까운 느낌이에요.
저는 S3 네이밍을 유지하는편이 더 좋다고 생각해요. R2자체가 S3에 의존하고 있고 또 서로 빠르게 교체할 수 있어서, 추상화처럼 S3 인터페이스를 쓰고 R2 구현체를 사용하는 느낌이 되었으면합니다
return R2FileResponseDto.from( | ||
commandFileService.uploadFile(file) | ||
); |
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.
new 대신 from을 사용하신 이유가 있나요?
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.
new를 바로 사용하는게 더 좋을 것 같아 수정하겠습니다
좋은 코멘트 감사합니다. |
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.
흐하하 수고하셨습니다! 정리하시는 실력이 정말 많이 느신 것 같아요. 읽으면서 왜 이렇게 하셨는지 바로바로 공감할 수 있었습니다! 앞으로도 열심히 고민하면서 좋은 결과를 내셨으면 좋겠습니다!!
image 도메인과 S3 도메인을 file 도메인으로 변경 / 병합 하였습니다.
고민한 부분
R2에서 파일을 가져오는 것과 로컬에서 가져오는 것을 R2로 묶지 않았습니다.
commandFileService에 대한 테스트코드를 작성하지 않았습니다.
위와 같은 문제로 fixtureMonkey를 통한 다양한 경우의 테스트 데이터 생성과 데이터 롤백에 대한 어려움이 있는 도메인이라 판단되었습니다