restAPI 스프링부트 이미지 업로드 질문입니다.


현재 쇼핑몰을 개발하면서 게시글에 이미지,비디오, 첨부파일 업로드 부분을 개발하고있는데

어떤 방식을 사용할지 고민입니다.

서버는 s3를 사용하는걸로 결정한 상황입니다. (이미지 서버와 비디오 서버 2개 씀)


1. 파일을 s3 서버에 올리고 프론트가 이미지 링크를 리턴 받는다

2. 리턴 받은 파일 링크를 db에 저장한다

에서 리턴 받은 링크를 어디에 저장할지가 고민입니다..


질의응답 기능, 상품 리뷰기능, 상품 등록 기능 이렇게 세가지 쪽에서 첨부파일 첨부 기능이 사용될 것 같습니다.


예를들어 1.jpg라는 이미지파일 한개, 2.mp4


방법1.

post 엔티티에 첨부파일 컬럼을 만들어서 json으로

[ {type:"image", url :"http"},

{type:"video", url :"http m3n8"},

{type:"text" ,data :"hihihihih"},

]

같은 방법으로 저장한다.


방법2.

post 엔티티와 첨부파일 entity 두개를 만들어

post 엔티티에 OneToMany 조인한다



어떤 방법이 더 좋을지 추천 부탁드립니다.