imad-project / imad-server

1 stars 0 forks source link

DTO 클래스에 프로필 이미지 URL이 정상적으로 삽입되지 않는 문제 수정 #206

Closed NCookies closed 4 months ago

NCookies commented 4 months ago

현재 프로필 요약, 리뷰, 게시글 등을 조회할 때 함께 전달되는 profile image 필드에, 파일 URL이 아니라 파일 이름만 들어있다.

NCookies commented 4 months ago

결과적으로, profile_image 데이터는 서버에서 전체 URL이 아닌 파일명만 전달해주기로 했다.

user DB에 profile image를 저장할 때에는 S3 스토리지 상의 전체 URL이 아닌, 파일 이름만 저장하고 있다. 환경적인 변수를 최대한 줄이려고 했기 때문이다. 만약에 S3 버킷 이름이나 폴더명이 수정되면 DB에 저장된 URL도 일괄적으로 변경되어야 한다.

때문에 유저에게 profile image 데이터를 이미지 파일명 앞에 S3의 URL을 붙여서 전달하도록 구현했다. 그러나 여기서 발생하는 문제가 있었다. profile image 데이터를 사용하는 DTO 클래스가 굉장히 많은데, 해당 위치마다 파일명을 URL로 바꿔주는 코드를 일일이 삽입해줘야 한다는 것이다.

위와 같은 과정은 비효율적이고, 추후 유지보수 시에도 혼돈이 있을 것 같아 일괄적으로 서버에서는 이미지 파일명만 보내주고, 클라이언트 측에서 앞쪽의 URL을 붙여서 사용하도록 결정했다.